【问题标题】:Is there any way to find end tag in xml using vtd-xml有没有办法使用 vtd-xml 在 xml 中找到结束标记
【发布时间】:2012-07-13 10:44:08
【问题描述】:

我已经使用令牌根据令牌计数循环所有元素 并看到在我的 xml 结构中,它只有 token type = 5 和 token type = 0 from this web

http://vtd-xml.sourceforge.net/userGuide/6.html

那么有没有办法在 vtd-xml 中找到结束标记

因为,我的 xml 看起来是这样的。

<ZDA>
<userdata>
    <firstname>Eak</firstname>
    <lastname>Tan</lastname>
</userdata>
<list name="employee">
    <entry>
        <first_name>firstName</first_name>
        <title>title</title>
        <empid>1</empid>
        <second_name>secondName</second_name>
        <last_name>lastName</last_name>
        <date_of_birth>dateOfBirth</date_of_birth>
        <pin>pin</pin>
        <province>province</province>
        <start_date>startDate</start_date>
        <list name="address">
            <entry>
                <addressid>1</addressid>
                <empid>1</empid>
                <sequence>1</sequence>
                <detail>address11</detail>
            </entry>
            <entry>
                <addressid>2</addressid>
                <empid>1</empid>
                <sequence>2</sequence>
                <detail>address12</detail>
            </entry>
            <entry>
                <addressid>3</addressid>
                <empid>1</empid>
                <sequence>3</sequence>
                <detail>address13</detail>
            </entry>
        </list>
    </entry>    
</list>

我使用 ap.iterate() 循环遍历所有的 xml 结构。

我想用结束标签来表示当它到达时 --> &lt;/entry&gt; 将对象添加到当前列表中。当它到达 --> &lt;/list&gt; 如果它有外部列表,则将这些列表添加到上层对象。

我希望这个过程像一个库,所以我使用反射来调用方法和对象。

现在,我只有一个问题,程序如何知道相应地添加到哪里。

任何获取结束标记或解析 XML 以使其具有结束标记的方法也是如此。

最好的问候,谢谢。

【问题讨论】:

    标签: xml tags vtd-xml


    【解决方案1】:

    vtd 解析器不保留结束标记,因为它与起始标记相同。您寻找结束标签的任何原因?

    【讨论】:

    • 我只是想通过使用纯java而不使用json外部库(只是连接字符串)将这个xml解析成json
    【解决方案2】:

    我有一个类似的问题,虽然我不知道您可以找到关闭标记作为简单的另一个元素(正如可能很好命名的 @vtd-xml-author 所指出的那样),但我选择了使用导航对象来解析每个孩子。

    首先,我得到了导航,然后进入了第一个孩子。然后,我简单地移动到下一个兄弟,注册开始标记的偏移量,然后使用当前偏移量和前一个偏移量来获取整个元素。一旦下一个兄弟移动返回false,我退出到前一个元素,移动到下一个兄弟,并且能够计算前一个兄弟的最后一个子元素的关闭位置(当没有时继续返回父元素更多兄弟姐妹,然后在我到达最后一个元素时使用文件的长度)。

    【讨论】:

    • 有趣的练习,但大多数人不需要它
    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多