Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 Parsing_Whitespace_Removing Whitespace - Fatal编程技术网

Java 解析XML文件时如何忽略空格和换行符

Java 解析XML文件时如何忽略空格和换行符,java,xml,xml-parsing,whitespace,removing-whitespace,Java,Xml,Xml Parsing,Whitespace,Removing Whitespace,如何在解析XML文件时忽略空白。它总是再次调用characters(…)方法,而在结束元素后面紧跟着'\n'或'\r',因此它调用此方法两次,而不是只调用一次。针对DTD解析文档的SAXParser在元素内容中遇到空白时调用ignorableWhitespace()。例如,如果这个XML片段 <ol> <li>one</li> <li>two</li> </ol> 一个 两个 根据此DTD片段分析: <

如何在解析XML文件时忽略空白。它总是再次调用
characters(…)
方法,而在结束元素后面紧跟着
'\n'
'\r'
,因此它调用此方法两次,而不是只调用一次。

针对DTD解析文档的SAXParser在元素内容中遇到空白时调用
ignorableWhitespace()
。例如,如果这个XML片段

<ol>
   <li>one</li>
   <li>two</li>
</ol>

  • 一个
  • 两个
  • 根据此DTD片段分析:

    <!ELEMENT ol (li+)>
    <!ELEMENT li (#PCDATA)>
    
    
    
    SAXParser将调用
    字符(…)
    来表示
    “一”
    “二”
    ,并调用
    ignorableWhitespace(…)
    来表示元素之间的所有空白


    还要注意,这仅适用于针对DTD的解析。使用模式时,不会调用
    ignorablewitspace(…)
    (即使有相同类型的信息可用)。

    大多数
    XML
    解析器自行处理此问题。顺便说一句,您正在使用哪个解析器?我使用这个解析器:javax.xml.parsers.SAXParser。我知道有一个函数叫做ignorableWhitespaces(…),但我不知道如何使用这个函数,也不知道它到底是做什么的。好的,谢谢,但这并没有解决我的问题。给定XML文件中的my元素之间有空格,例如。。。。(用点标记)和always characters()在本例中被调用。通过一个简单的返回解决了这个问题:if(content.length()==0)return;//忽略空白