0

ばかげた質問で申し訳ありませんが、これはAndroidで3週目です。MSSQLServerに接続するアプリケーションを作成し、.Net Webサービスを使用してデータを取得し、「REST」を使用してAndroidでXML結果を読み取り、生成された文字列には次のXMLが含まれますデータ :

<DataSet xmlns="http://tempuri.org/">
  <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Members">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" minOccurs="0"/>
                <xs:element name="First_x0020_Name" type="xs:string" minOccurs="0"/>
                <xs:element name="Last_x0020_Name" type="xs:string" minOccurs="0"/>
                <xs:element name="Email_x0020_Address" type="xs:string" minOccurs="0"/>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <NewDataSet xmlns="">
      <Members diffgr:id="Members1" msdata:rowOrder="0">
        <ID>4</ID>
        <First_x0020_Name>Jane</First_x0020_Name>
        <Last_x0020_Name>Doe</Last_x0020_Name>
        <Email_x0020_Address>janedoe@yahoo.com</Email_x0020_Address>
      </Members>
      <Members diffgr:id="Members2" msdata:rowOrder="1">
        <ID>3</ID>
        <First_x0020_Name>Bob</First_x0020_Name>
        <Last_x0020_Name>Jones</Last_x0020_Name>
        <Email_x0020_Address>bob@yahoo.com</Email_x0020_Address>
      </Members>
    </NewDataSet>
  </diffgr:diffgram>
</DataSet>

私の質問は、この文字列を取得して、XMLできれいな形式でデータを表示する方法です。ばかげた質問でもう一度申し訳ありませんが、私は多くの調査を行い、それらはすべてファイルまたはURIまたはURLを呼び出します

私が得た考えは、文字列を取得し、クラスにメンバーのオブジェクトがあり、このオブジェクトの配列リストを返し、インターフェイスに表示することですが、実際には方法がわかりません

4

1 に答える 1

1

XML文字列を解析し、S​​tringReaderを使用できます。

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(yourXMLString));

Document doc = db.parse(is);
NodeList nodes = doc.getElementsByTagName("first-node");

そして、通常のXML解析を続行します。多くの例があります。結果を好きなように処理したり、表示したり、要素や値を配列で返したりすることができます。

于 2012-08-09T09:10:11.100 に答える