Как получить конкретное имя поля XML-файла в JAVA?

1

Привет, я новичок в 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 и номер банковского счета. Так как я могу это сделать. Пожалуйста, помогите мне.

Теги:
xml-parsing
stax

2 ответа

0

Используйте 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);
        } 

    }

}
0

Гораздо проще использовать DOM. Вы можете обратиться сюда: http://www.developerfusion.com/code/2064/a-simple-way-to-read-an-xml-file-in-java/. Надежда может помочь вам

Ещё вопросы

Сообщество Overcoder
Наверх
Меню