Java dom document.getElementsByTagName ("") возвращает ноль? - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть xml, как показано ниже:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bookshelf>
    <book ISBN="a01" press="AD press"/>
    <book ISBN="a11" press="BC press">
        <book>JavaSE</book>
        <Author>John</Author>
        <price>35.00</price>
    </book>
    <book ISBN="b11" press="XY press">
        <book>Android</book>
        <Author>Smith</Author>
        <price>35.00</price>
    </book>
</bookshelf>

И простая программа на Java для домена, как показано ниже:

    System.out.println(currentPath);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(currentPath + "/book.xml");
    Node node = document.getElementsByTagName("").item(1);
    System.out.println(node);

(1) Она выводит "null", почему?

(2) Я гуглил и нашел много примеров кода для вызова document.getElementsByTagName (""), я хотел бы знать, означает ли "" корневой элемент или что-то еще?

Большое спасибо.

1 Ответ

0 голосов
/ 03 декабря 2018

(1) Он печатает "ноль", почему?Имя тега ("") пусто.пожалуйста, укажите любое подходящее имя тега ("book"), включенное в данный xml-файл

(2) для получения имени корневого элемента.это возвращаемое имя корневого элемента

document.getDocumentElement().getNodeName();
...