【问题标题】:Need to parse the XML starting from a specific element using Sax XML需要使用 Sax XML 从特定元素开始解析 XML
【发布时间】:2015-08-16 03:45:09
【问题描述】:

希望有人可以提供帮助并进行简单的修复。下面是我的代码运行代码的当前输出。

public void startElement(String uri, String localName , String qName,
        Attributes attributes) throws SAXException {

    if(!localName.matches("characterID")) {
        String Primary = attributes.getValue("characterID");
        System.out.println("ROOAR:" + Primary);

    } else {
       System.out.println("ROOAR:" + localName);
    }


Output
    ROOAR:null
    ROOAR:null
    ROOAR:null
    ROOAR:null
    ROOAR:92916469
    ROOAR:95325415
    ROOAR:95528725
    ROOAR:null

我想知道如何确定 startElement 在指定子元素的位置。截至目前,它从根元素开始,但如果它有自己的子元素,我宁愿从第 5 行开始。

示例 xml

           <eveapi version="2">
           <currentTime>2015-08-14 22:44:09</currentTime>
           <result>
           <rowset name="characters" key="characterID" columns="name,characterID,corporationName,corporationID,allianceID,allianceName,factionID,factionName">
           <row name="Grasume" characterID="95528725" corporationName="School of Applied Knowledge" corporationID="1000044" allianceID="0" allianceName="" factionID="0" factionName="" />
           </rowset>
           </result>
           <cachedUntil>2015-08-14 23:03:33</cachedUntil>
           </eveapi>

【问题讨论】:

  • 在您的问题中添加示例输入。这将有助于更好地了解您的问题。

标签: java xml sax


【解决方案1】:

使用基于 SAX 事件的解析时,您必须使用提供的事件(即 startElement)来跟踪当前的解析状态,即深度或路径。

首先,跟踪你的“根”是否被输入,然后是路径中的各个级别,当你输入你感兴趣的路径时,你就可以处理属性和子元素了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多