XML selectNodes à l'aide de l'ASP Classique
XML problème qui m'a déconcerté, mais il est probablement très simple...
Le XML est comme:
<header>
<createdOn>16 Sep 2009</createdOn>
<createdBy>Jez</createdBy>
</header>
<agents>
<agent>
<agentDetails>
<agentName>text</agentName>
<agentTelephone>text</agentTelephone>
</agentDetails>
<properties>
<property>
<propertyid>number</propertyid>
<address>
<number>1</number>
<street>High St</street>
<postcode></postcode>
<country>UK</country>
</address>
<price>
<category>text</category>
<price>number</price>
<reference>text</reference>
</price>
<description>
<propertyType>House</propertyType>
<bedrooms>2</bedrooms>
<bathrooms>1</bathrooms>
<sleeps>
<briefDescription>text</briefDescription>
<addDescription>long-text</addDescription>
<floorSize>
<size>80</size>
<type>sq. mt</type>
</floorSize>
<bullets>
<bullet>No Of Bedrooms : 2</bullet>
<bullet>Condition : Habitable</bullet>
<bullet>Land Size (M2): 2,000</bullet>
</bullets>
</description>
<images>
<image>
<thumbnail>URL</thumbnail>
<image>URL</image>
<alttext></alttext>
</image>
<image>
<thumbnail>URL</thumbnail>
<image>URL</image>
<alttext></alttext>
</image>
</images>
<links>
<link>
<type>text</type>
<url>url</url>
</link>
<link>
<type>text</type>
<url>url</url>
</link>
</links>
</property>
</properties>
</agent>
</agents>
Et le code je voudrais utiliser est:
Set NodeList = objXML.documentElement.selectNodes("agents/agent/properties/property")
For Each Node In NodeList
'I want to be able to extract distinct fields here...
response.write Node.selectSingleNode("address/street") & "<br/>"
response.write Node.selectSingleNode("description/briefDescription") & "<br/>"
Next
Mais, je ne sais pas comment.
Aussi, cela pourrait être un problème avec, par exemple, la <images>
et <links>
balises.
Suggestions s'il vous plaît?
- Vous pourriez envisager d'utiliser XSLT pour ce genre de tâche. La prise de XML et de recracher le HTML est ce qui est bon. Prend un peu de l'obtention de votre tête ronde, mais le code est beaucoup plus propre et plus rapide que son équivalent en code VBScript.
- Je suis d'accord Anthony - j'ai utilisé XSLT avec succès dans le passé, mais dans ce cas, je n'essaie pas d'affichage de l'information, je veux le schéma XML. Je suis en train de créer une fonction pour mapper un fichier XML dans SQL champs.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, l'exemple de XML que vous avez posté n'est pas valide. Il manque un élément racine (ou a plusieurs éléments racine, selon votre point de vue). Aussi, le
<sleeps>
élément n'est jamais fermée. Je pense que ce sont peut-être des fautes de frappe dans votre exemple?Je ne suis pas sûr de ce que tu veux dire par "je veux être en mesure d'extraire des domaines distincts, ici." Pouvez-vous donner un exemple de la sortie que vous recherchez?
Sans plus d'informations, je vous propose d'essayer une variante de ceci:
Cela vous aide?
Le code que j'utilise est:
J'espère que quelqu'un d'autre trouve sa utile!