XMLからキーと値のペアを取得して、Webサイトのメンバー情報を入力する必要があります。 XMLのサンプルは次のとおりです。ColdfusionでXMLから名前/値のペアを抽出する
<a:PObject xmlns:b="http://schemas.datacontract.org">
<b:CanUpsert>true</b:CanUpsert>
<b:Fields xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<c:KeyValueOfstringanyType>
<c:Key>FirstName</c:Key>
<c:Value i:type="d:long" xmlns:d="http://www.w3.org/2001/XMLSchema">Joe</c:Value>
</c:KeyValueOfstringanyType>
<c:KeyValueOfstringanyType>
<c:Key>LastName</c:Key>
<c:Value i:type="d:long" xmlns:d="http://www.w3.org/2001/XMLSchema">Mama</c:Value>
</c:KeyValueOfstringanyType>
</b:Fields>
</a:PObject>
私はXMLには新しく、接頭辞には苦労しています。私はキー/値のペアの配列を私に与えるために以下を使用しています:
インデックスで必要なデータを参照することができます。これはほとんどの場合うまく機能しますが、何らかの理由ですべてのレコードが同じ場所にデータを持っているわけではありません。つまり、#keyValue [4]#はレコードの95%で動作しますが、ほんのわずかで、私に全く異なる値を与えます!
私はこの件についてこの記事と他の場所で多くの記事を読んでいます。それらのどれも接頭辞の問題の周りに私を得ることはありません。たとえば、要素を名前でアクセスするには、
<cfset firstNameKey = XmlSearch(soapBody,"//*[ text() = 'FirstName' ]") />
を使用しますが、どのように対応する値が得られますか?私は兄弟姉妹を使ってみましたが、正しくしてはいけません...私も接頭辞のすべてを取り除くことを試みました - 何もないそれから働きました!
あなたに私が与えることができるアドバイスや提案があれば、あらかじめありがとうございます。私が言ったように、私はXMLに慣れていません(それはCFでも先進的ではありません)。正しい方向を指し示すことを楽しみにしています。どうもありがとう!
こんにちはジェイク、返信いただきありがとうございます!私は今それをやっているのだろうか?私は接続しているAPIからXMLを取得して戻ってきて、のように解析します。私が "soapBody"をcfdumpすると、大きなフォーマットのXML表現が得られます。名前空間を取り除いてcfdumpすると、XML形式ではなく、タグ付きの巨大な文字列が得られます。私はあなたの提案に取り組んでみましょう、私が思い付くものを見てみましょう。 Jakeさん、ありがとう! –
daltec
まだ同じ問題に直面しています。私はファーストネームに、そのテキスト値 "First Name"を参照してアクセスできます。しかし、私はその値が何であるかわからないので、 Joe にアクセスする方法を見ていません。そして、私が続ける必要があるのはです。私は今それに取り組んでいますが、あなたに戻ってくるでしょう。ありがとうジェイク! –
daltec
こんにちはジェイク、どうもありがとうございました。私は実際にはかなり似たアプローチを打ちましたが、私はcfifタグを使います。あなたの方がはるかに効率的です。助けてくれてありがとう!ほんとうにありがとう。 – daltec