次のような属性を含む 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 "&"
}
}
解析メソッドで属性テキストをそのままにして、何も変換しようとしないようにするにはどうすればよいですか?