在过去的两天里,我一直在搜索如何使用特殊的字符来解析XML!@#$%^& *()':;“,但我没有得到足够的信息来实现它。任何人都可以给我一些建议......我可以这样做吗?
答案 0 :(得分:3)
您可以尝试类似this的内容,即为该特殊字符提供参考。
Character Reference
& - &
< - <
> - >
" - "
' - '
<强>更新强>
我已经在你的问题中回答了,所以看看Answer。
答案 1 :(得分:1)
documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = documentBuilder.parse(inputSource);
document.getDocumentElement().normalize();
normalize方法可以为您处理特殊字符和实体。
public abstract void normalize()
在API级别1中添加
将所有Text节点放在子树的完整深度下面 节点,包括属性节点,只有“正常”形式 结构(例如,元素,注释,处理指令,CDATA sections和entity references)分隔Text节点,即有 既没有相邻的Text节点也没有空的Text节点。这可以用来 确保文档的DOM视图与保存文档的DOM视图相同 并重新加载,并在操作(如XPointer)时很有用 [XPointer]查找)依赖于特定的文档树 结构将被使用。如果参数为“normalize-characters” 附加到Node.ownerDocument的DOMConfiguration对象是 true,此方法还将完全规范化Text的字符 节点
注意:如果文档包含CDATASections,则 自XPointers以来,仅仅规范化操作可能还不够 不区分Text节点和CDATASection节点。
答案 2 :(得分:0)
xml parsing with "&", "®", but still getting errors
这些链接也可能有所帮助:
答案 3 :(得分:0)
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?
答案 4 :(得分:0)
有一个free command line tool用于将文本中包含特殊字符的文件转换为有效的XML。它还确保文件编码与声明中指定的匹配。
还有一个Java开发人员套件,允许您使用解析器来解析此类文件(称为XPL),作为XML的替代或XML的预处理。它使用类似StAX的过程,称为StAX-PL。