© 2019 BY マルハチITサービス PROUDLY CREATED WITH Wix.com​

  • Kawahara

XMLデータが読み込めない

AWS3.0では読み込めていたのに、AWS4.0で読み込めない。たとえばこんなの。 (ちなみにVB.NETで作ってます) ————————————————- sMedia = objXml.SelectSingleNode(DNode & “/Media”).InnerText ————————————————- 受け取っているXMLに違いがあることが判明。

AWS3.0 ————————————————- <?xml version=”1.0″ encoding=”UTF-8″?> <ProductInfo xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:noNamespaceSchemaLocation=”http://xml.amazon.com/schemas3/dev-heavy.xsd”&gt; ————————————————-

AWS4.0 ————————————————- <?xml version=”1.0″ encoding=”UTF-8″ ?> <ItemSearchResponse xmlns=”http://webservices.amazon.com/AWSECommerceService/2005-10-05″&gt; ————————————————-

具体的には、xsi:noNamespaceSchemaLocationが無いだけなのだがこれが読めなくしている原因らしい。 ちなみにこの先に指定されているdev-heavy.xsdとはこんなの

自分も今理解しようとしているところなので説明できないが、詳しく知りたい方は下記へ 第1回 XML超入門 第5回 DOMとXPath

で、結果としてこうなった ————————————————- Dim nsmgr1 As XmlNamespaceManager = New XmlNamespaceManager(objXml.NameTable) nsmgr1.AddNamespace(“smpl”, “http://webservices.amazon.com/AWSECommerceService/2005-10-05&#8221;) objXml.SelectSingleNode(“/smpl:ItemSearchResponse/smpl:Items/smpl:TotalResults”, nsmgr1).InnerText ————————————————-

0回の閲覧