1

亲爱的朋友,我想使用 xml 解析器中的属性解析元素这是我的 xml 格式

<LOB>Cars</LOB>
<PPL>Indica</PPL>
<REGION>West2</REGION>
<RETAIL>30</RETAIL>
<LOB>Cars</LOB>
<PPL>Indica</PPL>
<REGION>West1</REGION>
<RETAIL>175</RETAIL>
<LOB>Cars</LOB>
<PPL>Indica Vista</PPL>
<REGION>West2</REGION>
<RETAIL>267</RETAIL>
<LOB>Cars</LOB>
<PPL>Indica Vista</PPL>
<REGION>West1</REGION>
<RETAIL>1212</RETAIL>

 more.....


<LOB>PCV - Venture</LOB>
<PPL>Venture</PPL>
<REGION>West2</REGION>
<RETAIL>2</RETAIL>
<LOB>PCV - Venture</LOB>
<PPL>Venture</PPL>
<REGION>West1</REGION>
<RETAIL>12</RETAIL>

 more....

现在我只想要汽车零售数量,但这里的 PCV-Venture 属性也在同一个 xml 文件中,所以我只能为属性做些什么是汽车然后解析零售元素而不是 PCV-Venture 的?

4

2 回答 2

2

使用TBXML解析解析xml格式数据。

链接TBXML

数据应该是这种格式

<info>
<User>
<CountryId>13</CountryId>
<CountryName>Austrlia</CountryName>
</User>
<User>
<CountryId>12</CountryId>
<CountryName>India</CountryName>
</User>
<User>
<CountryId>17</CountryId>
<CountryName>test1</CountryName>
</User>
<User>
<CountryId>16</CountryId>
<CountryName>UK</CountryName>
</User>
</info>  

并解析为

TBXML * tbxml = [TBXML tbxmlWithURL:[NSURL URLWithString:url]];

    TBXMLElement *rootXMLElement = tbxml.rootXMLElement;

    if (rootXMLElement)
    {
        TBXMLElement * user = [TBXML childElementNamed:@"user" parentElement:rootXMLElement];


        while (user != nil)
        {

            TBXMLElement *CountryId = [TBXML childElementNamed:@"CountryId" parentElement:user];
            if (CountryId != nil)
            {
                NSLog(@"CountryId :: %@", [TBXML textForElement:CountryId]);
            }

            TBXMLElement *CountryName = [TBXML childElementNamed:@"CountryName" parentElement:user];
            if (CountryName != nil)
            {
                NSLog(@"CountryName :: %@", [TBXML textForElement:CountryName]);
            }

            user = [TBXML nextSiblingNamed:@"user" searchFromElement:user];
        }

    }
于 2012-11-19T08:09:52.737 回答
0

您可以使用 SMXMLDocument。

这是一个例子

于 2012-11-19T08:35:13.397 回答