Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 阅读XML注释_Java_Xml_Xml Comments - Fatal编程技术网

Java 阅读XML注释

Java 阅读XML注释,java,xml,xml-comments,Java,Xml,Xml Comments,我正在尝试使用windows的任务计划程序xml文件。对于任何不知道的人来说,xml文件如下所示: <?xml version="1.0" encoding="UTF-16"?> <Tasks> <!-- \job1 --> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <

我正在尝试使用windows的任务计划程序xml文件。对于任何不知道的人来说,xml文件如下所示:

  <?xml version="1.0" encoding="UTF-16"?>
<Tasks>
    <!-- \job1 -->
    <Task version="1.2"
        xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
        <RegistrationInfo>
            <Date>2013-08-03T13:07:36.8791439</Date>
            <Author>pc\laptop</Author>
        </RegistrationInfo>
    ... 
        <!-- \job2 -->
         <Task version="1.2"
         ......

2013-08-03T13:07:36.8791439
pc \笔记本电脑
... 

您缺少注释,因为您正在使用
getElementsByTagName()
返回
NodeList
每个
Element
类型

改为在
文档
上使用
getChildNodes()
,它返回
节点
的任何子接口的节点列表,包括
注释
这应该有效

    NodeList list1 = doc.getDocumentElement().getChildNodes();
    for (int i = 0; i < list1.getLength(); i++) {
        Node n1 = list1.item(i);
        if (n1.getNodeType() == Node.COMMENT_NODE) {
            String comment = n1.getNodeValue();
        } else if (n1.getNodeType() == Node.ELEMENT_NODE) {
            // Task
            NodeList list2 = n1.getChildNodes();
            for (int j = 0; j < list2.getLength(); j++) {
                Node n2 = list2.item(j);
                if (n2.getNodeType() == Node.ELEMENT_NODE) {
                    // RegistrationInfo 
                    NodeList list3 = n2.getChildNodes();
                    for (int k = 0; k < list3.getLength(); k++) {
                        Node n3 = list3.item(k);
                        if (n3.getNodeType() == Node.ELEMENT_NODE) {
                            if (n2.getNodeName().equals("Date")) {
                                ...
NodeList list1=doc.getDocumentElement().getChildNodes();
对于(int i=0;i
您是否尝试了
jElement.getTextContent()
而不是
jElement.toString()
?没有尝试,因为它不在if语句中。当我说'NodeList list1=doc.getDocumentElement().getChildNodes();'时,它返回空值,因此此字段中没有节点。
    NodeList list1 = doc.getDocumentElement().getChildNodes();
    for (int i = 0; i < list1.getLength(); i++) {
        Node n1 = list1.item(i);
        if (n1.getNodeType() == Node.COMMENT_NODE) {
            String comment = n1.getNodeValue();
        } else if (n1.getNodeType() == Node.ELEMENT_NODE) {
            // Task
            NodeList list2 = n1.getChildNodes();
            for (int j = 0; j < list2.getLength(); j++) {
                Node n2 = list2.item(j);
                if (n2.getNodeType() == Node.ELEMENT_NODE) {
                    // RegistrationInfo 
                    NodeList list3 = n2.getChildNodes();
                    for (int k = 0; k < list3.getLength(); k++) {
                        Node n3 = list3.item(k);
                        if (n3.getNodeType() == Node.ELEMENT_NODE) {
                            if (n2.getNodeName().equals("Date")) {
                                ...