【问题标题】:How to parse XML如何解析 XML
【发布时间】:2012-11-06 09:34:00
【问题描述】:

这是我要解析的 XML:

"<Result>"
+ "<columnName><![CDATA[Role_Id]]></columnName>"
+ "<Row><col><![CDATA[0]]></col><col><![CDATA[zero]]></col></Row>"
+ "<Row><col><![CDATA[1]]></col><col><![CDATA[one]]></col></Row>"
+ "<Row><col><![CDATA[2]]></col><col><![CDATA[two]]></col></Row>" + "</Result>";

我想要以下输出:

0,zero
1,one
2,two

但是当我试图解析它时,我得到了

0 1 2

【问题讨论】:

  • 请发布您的代码
  • 您可以使用 JAXB。这是一种非常快速的方法。

标签: java xml xml-parsing


【解决方案1】:

您可以尝试使用 JAX-B,它应该很容易做到这一点。

JAX-B 的“hello world”示例:http://www.mkyong.com/java/jaxb-hello-world-example/

【讨论】:

  • 可以详细点吗?例如。提供链接。
【解决方案2】:

使用 DOM、JDOM、SAX 等库。Internet 上有很多教程可供使用。

【讨论】:

    【解决方案3】:

    想到 XSLT:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="text" />
        <xsl:template match="/Result">
            <xsl:apply-templates select="Row"/>
        </xsl:template>
    
        <xsl:template match="Row">
            <xsl:value-of select="col[1]"/>,<xsl:value-of select="col[2]" />
            <xsl:text>&#10;</xsl:text>
        </xsl:template>
    </xsl:stylesheet>
    

    【讨论】:

      【解决方案4】:

      XSLT 的另一个替代方案是 SLAX。语法更好看,写起来更有趣:

      libslax

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 2019-12-19
        • 1970-01-01
        • 2011-05-10
        • 2014-05-13
        • 1970-01-01
        • 2011-06-17
        相关资源
        最近更新 更多