我有一个 XML 文档,其中包含如下属性:
<Tag Body="<p>">
我想完全按原样保留 Body 属性中的文本;但是,解析方法是将文本转换为“<p>”。我想保留“&”、“l”、“t”、“;”等。
我正在使用 Java SAX API 来解析 XML 文档,如下所示:
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser saxParser = spf.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setContentHandler(new MyHandler());
xmlReader.setErrorHandler(new MyErrorHandler(System.err));
xmlReader.parse(convertToFileURL(myFileName));
中的相关代码MyHandler.java
为:
public void startElement(String namespaceURI, String localName, String qName, Attributes atts)
throws SAXException
{
if (qName.equals("Tag")){
String Body = atts.getValue("Body");
char []s = Body.toCharArray(); // s[0] will be "<", but I want it to be "&"
}
}
如何获得解析方法以单独保留属性文本而不尝试转换任何内容?