我寫了一個SAX解析器。當屬性值嵌套在雙引號中時,它工作正常。但是,如果我不使用引號,它會引發異常。我希望解析器解析屬性值不在引號內的XML文件。 我想分析以下類型的文件:解析java中的XML文件
<root>
<tag1 attribute1=value1 > my data </tag1>
</root>
注意,值1是不是引號內
我可以讓我的解析器來解析上述文件?如果是的話如何?
我寫了一個SAX解析器。當屬性值嵌套在雙引號中時,它工作正常。但是,如果我不使用引號,它會引發異常。我希望解析器解析屬性值不在引號內的XML文件。 我想分析以下類型的文件:解析java中的XML文件
<root>
<tag1 attribute1=value1 > my data </tag1>
</root>
注意,值1是不是引號內
我可以讓我的解析器來解析上述文件?如果是的話如何?
SAX解析器不會讀取它,因爲它不是well-formed XML。所有屬性值都需要用單引號或雙引號引起來。
爲了讓你的解析器讀取它,你會發現必須整理/淨化/修復它與相關的庫。
嘗試NekoHTML(http://nekohtml.sourceforge.net/usage.html)
例如
package sample;
import org.apache.xerces.parsers.AbstractSAXParser;
import org.cyberneko.html.HTMLConfiguration;
public class HTMLSAXParser extends AbstractSAXParser {
public HTMLSAXParser() {
super(new HTMLConfiguration());
}
}
事實上,XML格式不正確。有效性是指針對DTD,XSD或應用於XML的任何其他類型的語法約束進行驗證。 –
我的意思是'額外的限制'...對不起。 –