如何为选定的标签匿名XML数据?

yli*_*yli 3 python xml perl anonymize

我的问题如下:

我必须读取一个大的XML文件,50 MB; 并匿名一些与私人问题相关的标签/字段,如姓氏地址,电子邮件,电话号码等...

我确切地知道XML中的哪些标签是匿名的.

 s|<a>alpha</a>|MD5ed(alpha)|e;
 s|<h>beta</h>|MD5ed(beta)|e;
Run Code Online (Sandbox Code Playgroud)

其中alphabeta引用其中的任何字符,也可以使用像MD5这样的算法进行哈希处理.

我只会转换标记值,而不是标记本身.

我希望,我对我的问题很清楚.我该如何实现这一目标?

S.L*_*ott 6

您必须在Python中执行以下操作.

import xml.etree.ElementTree as xml # or lxml or whatever
import hashlib
theDoc= xml.parse( "sample.xml" )
for alphaTag in theDoc.findall( "xpath/to/tag" ):
    print alphaTag, alphaTag.text
    alphaTag.text = hashlib.md5(alphaTag.text).hexdigest()
xml.dump(theDoc)
Run Code Online (Sandbox Code Playgroud)