Привет, я новичок в STAX, и у меня есть xml файл в качестве примера. Как это
<?xml version="1.0"?>
<data>
<name>
<sensitive>true</sensitive>
</name>
<dob>
<sensitive>false</sensitive>
</dob>
<email-id>
<sensitive>true</sensitive>
</email-id>
<ssn>
<sensitive>true</sensitive>
</ssn>
<bankaccountnumber>
<sensitive>true</sensitive>
</bankaccountnumber>
<licencenumber>
<sensitive>false</sensitive>
</licencenumber>
Я хочу просто имя feild, чья чувствительная ценность истинна. В этом примере я хочу только имя, ssn, emailid и номер банковского счета. Так как я могу это сделать. Пожалуйста, помогите мне.
Используйте dom4j. Вот пример кода, который может вам помочь:
private List<String> _listXPath = new ArrayList<String>();
public static void main(String[] args) {
Document document = DocumentHelper.parseText(xml);
treeWalk(document);
}
private void treeWalk(Document document) {
treeWalk( document.getRootElement() );
}
// Traverse xml
private void treeWalk(Element element) {
String line = "";
for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
Node node = element.node(i);
if ( node instanceof Element ) {
Element el = (Element) node;
for ( int j = 0, total = el.attributeCount(); j < total; j++ ) {
Attribute attribute = el.attribute(j);
line = attribute.getPath() + attribute.getValue();
_listXPath.add(line);
}
treeWalk( (Element) node );
}
else {
line = node.getPath() +node.getText();
_listXPath.add(line);
}
}
}
Гораздо проще использовать DOM. Вы можете обратиться сюда: http://www.developerfusion.com/code/2064/a-simple-way-to-read-an-xml-file-in-java/. Надежда может помочь вам