【发布时间】:2011-11-15 05:04:06
【问题描述】:
从过去 2 天开始,我正在搜索如何使用特殊字符解析 XML,例如 !@#$%^&*()':;",但我没有得到足够的信息来实现它。可以任何人请给我一些建议..我该怎么做??
【问题讨论】:
-
你的问题得到解决了吗?
从过去 2 天开始,我正在搜索如何使用特殊字符解析 XML,例如 !@#$%^&*()':;",但我没有得到足够的信息来实现它。可以任何人请给我一些建议..我该怎么做??
【问题讨论】:
documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = documentBuilder.parse(inputSource);
document.getDocumentElement().normalize();
normalize 方法可以为您处理特殊字符和实体。
public abstract void normalize()
在 API 级别 1 中添加
将所有文本节点放在此子树的完整深度中 节点,包括属性节点,变成一个“正常”的形式,其中只有 结构(例如,元素、cmets、处理指令、CDATA 部分和实体引用)分隔文本节点,即有 既不是相邻的 Text 节点,也不是空的 Text 节点。这可以用来 确保文档的 DOM 视图与保存时相同 并重新加载,并且在操作(例如 XPointer [XPointer] 查找)依赖于特定的文档树 结构将被使用。如果参数“normalize-characters”的 附加到 Node.ownerDocument 的 DOMConfiguration 对象是 是的,此方法还将完全规范化 Text 的字符 节点。
注意:如果文档包含 CDATASection,则 单独规范化操作可能还不够,因为 XPointers 可以 不区分 Text 节点和 CDATASection 节点。
【讨论】:
xml parsing with "&", "®", but still getting errors
这些链接也可能有帮助:
【讨论】:
public void XmlParsing(String questions_xml)
{
try {
/** Handling XML */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Create handler to handle XML Tags ( extends DefaultHandler ) */
MyXmlHandler myXMLHandler = new MyXmlHandler();
xr.setContentHandler(myXMLHandler);
xr.parse( new InputSource(new StringReader(questions_xml)));
} catch (Exception e) {
String err = (e.getMessage()==null)?"XMLParsing exception":e.getMessage();
Log.e("XMLParsing Exception",err);
}
}
now when I am trying to parse & then my app crashes?
【讨论】:
free command line tool 用于将文本中带有特殊字符的文件转换为有效的 XML。它还确保文件编码与声明中指定的匹配。
还有一个 Java 开发人员套件,允许您使用解析器来解析此类文件(称为 XPL),作为 XML 的替代方案或对 XML 的预处理。它使用称为 StAX-PL 的类似 StAX 的过程。
【讨论】: