解析XML特殊字符?

时间:2011-11-15 05:04:07

标签: android android-manifest

在过去的两天里,我一直在搜索如何使用特殊的字符来解析XML!@#$%^& *()':;“,但我没有得到足够的信息来实现它。任何人都可以给我一些建议......我可以这样做吗?

5 个答案:

答案 0 :(得分:3)

您可以尝试类似this的内容,即为该特殊字符提供参考。

Character Reference

&   -   &
<   -   &lt;
>   -   &gt;
"   -   &quot;
'   -   &apos;

<强>更新

我已经在你的问题中回答了,所以看看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)

  1. 有效的XML文件应该具有以下任何字符“&amp;”,“&lt;”,“&gt;”要么 ”@”。它应该具有命名实体“&amp; amp”,“&amp; lt”,“&amp; gt”,“&amp; reg”,“&amp; quot”,“&amp; apos”等等:
  2. xml parsing with "&amp;", "&reg;", but still getting errors

    1. 如果XML文件有效,那么解析(使用“android.util.XML”,我推测),应该“正常工作”。
    2. 这些链接也可能有所帮助:

答案 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。