1

属性であるがその中にデータを含む2行のXMLデータがあり、それらは繰り返しフィールドです。それらはSimpleXML変数に格納されています。

<inputField Type="Name">John Doe</inputField>
<inputField Type="DateOfHire">Tomorrow</inputField>

(明らかにこれは実際のデータではありませんが、構文は実際には私のデータにあり、文字列データを使用しているだけです)

私が見たすべては、私が試したこのようなデータにアクセスするように言っています、そしてそれは完全に機能しました。しかし、私のデータは動的であるため、データが常に同じ場所にあるとは限らないため、私のニーズに適合しません。

$xmlFile->inputField[0];
$xmlFile->inputField[1];

これは、行の1つが欠落するまで正常に機能し、0〜5行のどこでも使用できます。それで、私が疑問に思っていたのは、属性名でデータにアクセスできる方法はありますか?だから潜在的にこのように。

$xmlFile->inputField['Name'];

また

$xmlFile->inputField->Name;

私はこれらを例として使用して、私がやろうとしていることを厳密に説明しています。上記のコード行はどちらも構文的に正しくないことを認識しています。

この情報は外部で生成されているため、形式を変更できないことに注意してください。

誰かが説明が必要な場合は、遠慮なく私に知らせてください。喜んで詳しく説明します。

4

3 に答える 3

0

あなたは言いませんが、私はあなたが使っていると思いますSimpleXMLElementか?

すべてのアイテムにアクセスする場合は、次のように繰り返します。

foreach ($xmlFile->inputField as $inputField) { ... }

属性にアクセスする場合は、配列表記を使用します。

$inputField['Type']

特定の要素を1つだけアクセスする場合は、xpathを使用します。

$xmlFile->xpath('inputField[@Type="Name"]');

おそらく、SimpleXMLElementドキュメントの基本的な使用例を読む必要がありますか?

于 2013-02-22T19:48:29.387 に答える
0

もしかしてこんな?

echo $xmlFile->inputField->attributest()->Name;

で、何使ってる?DOMDocument または simplexml?

于 2013-02-22T19:47:47.253 に答える
0

たとえば、データを取得できます。

$xmlFile = simplexml_load_file($file);

foreach($xmlFile->inputField as $res) {

    echo $res["Name"];

}
于 2013-02-22T19:51:07.317 に答える