0

ASMXWebサービスがあります。XML形式でデータを返します。返されるデータが大きい。30〜40000レコードの順序。使用しようとしています

TBXML.
<ArrayOfNAllAddresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">

 &ltNAllAddresses&gt
   &ltAllAddID&gt60386 &lt/AllAddID&gt
    &ltAllAddressLine&gtXYZA Company </AllAddressLine&gt
    &ltAllAddressCity>&gtChicago  </AllAddressCity&gt
    &ltAllAddressState&gtIL </AllAddressState&gt
    &ltAllAddressZip&gt5555</AllAddressZip&gt
    &ltAllCustID &gt41257> </AllCustID&gt
  &lt/NAllAddresses&gt
 &ltNAllAddresses&gt
....

  </NAllAddresses>
 </ArrayOfNAllAddresses>

     TBXMLElement *elem_NAddresses = [TBXML childElementNamed:@"ArrayOfNAllAddresses" parentElement:root];
        NSLog(@"the value is at 873 %@",elem_NAddresses);
        while (elem_NAddresses != nil) {
    //It should enter here. But it won't
    }

だから私はそれを試しました。ただし、whileループには入りません。値をArrayOfNAlllAddressesからNALLAddressesを使用するように変更しました。しかし、どちらでも機能しません。誰かがそれを解析する方法を教えてもらえますか?ありがとう。さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

XML ファイルを TBXML に渡したことがありますか? 最初にそれを行う必要があります。そうしないと、TBXML は何の XML について話しているのかわかりません。XML を Xcode の .xml ファイルに保存するか、NSString次のようにして TBXML に渡します。

TBXML *tbxml = [TBXML tbxmlWithXMLFile:@"yourFile.xml"];
//or
TBXML *tbxml = [TBXML tbxmlWithXMLString:yourString]

次に、ルート要素を取得して while ループを実行できます。

TBXMLElement *root = tbxml.rootXMLElement;

また、ヘッダーファイルを確認して#includeくださいTBXML.h

于 2013-05-17T08:31:05.633 に答える