0

小さな問題が発生しました。Zoho CRM API を使用していますが、次のような形式の XML が返されます。

<response uri="/crm/private/xml/Contacts/getRecords">
    <result>
        <Contacts>
            <row no="1">
                <FL val="Contact Owner">
                    <![CDATA[ Kristo Vaher ]]>
                </FL>
                <FL val="Lead Source">
                    <![CDATA[ Partner ]]>
                </FL>
            </row>
        </Contacts>
    </result>
</response>

simplexml_load_string() を使用して XML オブジェクトを作成すると、その XML のほとんどが新しいオブジェクトに含まれますが、FL タグ (CDATA 要素) の「内部」文字列 (実際に関心のあるデータ) は得られません。自分。

私の新しい SimpleXML オブジェクトには、次のようなデータしかありません。

[1] => SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [val] => Contact Owner
            )

    )

私の推測では、これは XML が実際にはこのように構築されるべきではないためであると考えられます。属性がある場合、XML タグに内部コンテンツを含めることはできず、その逆も可能であるとどこかで読んだことがあります (これは正しいですか?)。

私の代替手段は何ですか?自分でパーサーを書くことは、実際には選択肢ではありません。

ありがとう!

4

1 に答える 1

1

属性を取得するには:

foreach ($value->attributes() as $key => $val){
    // get all attributes
}

データを取得するには:

echo (string) $load->result->Contacts->row->FL[0];
于 2012-08-23T08:20:33.677 に答える