Ich habe Probleme beim Parsing der folgenden XML mit jQuery. Das XML wird von einem ASP.net-Webdienst abgerufen. Wie ignoriere ich den ersten Block mit allen Schema-Informationen und beschränke meine Ergebnismenge auf die Daten, die ich weiter unten brauche.jQuery XML, Coldfusion Parsing Problem
<?xml version="1.0" encoding="utf-8"?>
// IGNORE THE FOLLOWING
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<UsageResponse xmlns="http://portal.caps.compass.net.nz/portal/internet.asmx">
<UsageResult>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="startdate" type="xs:dateTime" minOccurs="0" />
<xs:element name="Column1" type="xs:int" minOccurs="0" />
<xs:element name="Column2" type="xs:string" minOccurs="0" />
<xs:element name="Column3" type="xs:int" minOccurs="0" />
...<snip>...
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complextype>
</xs:element>
</xs:schema>
// NARROW PARSING SCOPE TO THE FOLLOWING DATA ONLY
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<startdate>2010-01-31T00:00:00+13:00</startdate>
<Column1>1050</Column1>
<Column2>Date</Column2>
<Column3>0</Column3>
<Column4>1</Column4>
<Column5>yyyy-Mmm-dd</Column5>
<starttime>2010-01-31T00:00:00+13:00</starttime>
<Column6>800</Column6>
<Column7>Time</Column7>
<Column8>0</Column8>
<Column9>1</Column9>
<Column10>hh:mm:ss</Column10>
<subscribercode>dageorgetti</subscribercode>
</Table>
...<snip>...
<Table1 diffgr:id="Table11" msdata:rowOrder="0">
<TotalCalls>0</TotalCalls>
<TotalDuration>2677129</TotalDuration>
<TotalCharge>0.0000</TotalCharge>
<TotalData>1368.9900</TotalData>
</Table1>
</NewDataSet>
</diffgr:diffgram>
</UsageResult>
</UsageResponse>
</soap:Body>
</soap:Envelope>
Ohne jQuery zu verwenden, konnte ich meine Ergebnismenge mit so etwas wie der folgenden Coldfusion-Skript, dank einengen zu etwas Hilfe von einem anderen Experten hier:
dataContainer = rspContainer.xmlChildren[2].xmlChildren[1].xmlChildren;
Dann konnte ich mit der Arbeit einfach dataContainer-Untermenge Aber, wie mache ich etwas ähnliches in jQuery?
Zeigen Sie uns den jQuery-Code, den Sie jetzt haben. –
Etwas wie 'var newXML = $ (rspContainer) .filter ('[id = NewDataSet]'). Remove()'? – Fred