Je rencontre des problèmes lors de l'analyse du fichier XML suivant à l'aide de jQuery. Le fichier XML est obtenu à partir d'un service Web ASP.net. Comment puis-je ignorer le premier bloc avec toutes les informations du schéma et affiner mon jeu de résultats pour les données dont j'ai besoin plus bas.jQuery XML, problème d'analyse par fusion
<?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>
Sans utiliser jQuery, je pouvais limiter mon résultat en utilisant quelque chose comme le script coldfusion suivant, grâce à l'aide d'un autre expert ici:
dataContainer = rspContainer.xmlChildren[2].xmlChildren[1].xmlChildren;
Ensuite, je pouvais travailler avec le Sous-ensemble dataContainer. Mais, comment puis-je faire quelque chose de similaire dans jQuery?
Montrez-nous le code jQuery que vous avez maintenant. –
Quelque chose comme 'var newXML = $ (rspContainer) .filter ('[id = NewDataSet]'). Remove()'? – Fred