- - PR -
PHPでXMLの扱いについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-23 11:49
いつもお世話になってます。
現在PHP5.0でXMLを操作しようとしているのですが、NameSpaceの操作がうまくできません。 getAttribute("xml:lang"); で値が取れないのですが・・・わかる人がいましたらご教授お願いします。 |
|
投稿日時: 2006-02-23 12:10
PHPでXMLというと何を使ってますか?・・・
って、ざっと検索してみたらPHP5からDOM Functionsがコアに含まれるようになったんですか・・・ (早速勉強しなくてわ(汗)) で、NameSpaceを含んだgetAttributeというと、getAttributeNSという関数がありませんか? |
|
投稿日時: 2006-02-23 12:16
お返事ありがとうございます。
PHPではDomを使っています。 DomNodeクラス->getAttribute("xml:lang"); というような感じで取得しようとしています。 XMLの方は <Description xml:lang="XXXX" Variant="XXXX">XX</Description> な感じです。 DomNodeクラス->getAttributeNS("http://www.w3.org/1999/XSL/Transform","xml:lang"); としても値が取得できませんでした: |
|
投稿日時: 2006-02-23 12:37
XPath式なら プリフィックス付きで 取れるのでは
http://www.php.net/manual/ja/function.dom-domxpath-evaluate.php |
|
投稿日時: 2006-02-23 12:50
PHPは使ったことないんですが、DOMに準拠してれば「getAttribute("xml:lang")」のままで良い気がします。名前空間を使って指定するなら、「getAttributeNS("http://www.w3.org/XML/1998/namespace", "lang")」でしょう。
|
|
投稿日時: 2006-02-23 12:58
MMXさん、スフレさんお返事ありがとうございます。
結論から言いますとスフレさんの言われた >「getAttributeNS("http://www.w3.org/XML/1998/namespace", "lang")」でしょう。 で解決しました。 URIの指定が間違っていました; 皆さんありがとうございます。 |
1