1

Python言語でXPathライブラリを使用しただけです。しかし、xml ファイルでコロンを含む属性を取得できません。

xml ファイルの内容:

  xmlns:rtr="http://www.reuters.com/ns/2003/08/content"
    <packageItem conformance="power" guid="2013-07-17 15:53:21" standard="NewsML-G2" standardversion="2.14" version="1" xml:lang="en">
    <itemClass qcode="icls:composite" rtr:msgType="S"/>

これらは私が書いた2つの方法です。

def getxmlVal(self, expr):
    data = xpath.findvalue(expr, self.doc)
    return data
def getValnamespaces(self, expr, namespace):
    context = xpath.XPathContext(default_namespace=namespace)
    return context.findvalue(expr, self.doc);

私も試しました:メソッドgetxmlValの場合

  1. expr= "//packageItem/itemMeta/itemClass/*[local-name()='rtr:msgType' and namespace-uri()=' http://www.reuters.com/ns/2003/08/content ' ]";

  2. expr= "//itemMeta/itemClass/*[name()='rtr:msgType']";

メソッドgetValnamespacesの場合

expr= "//itemMeta/itemClass/*[name()='rtr:msgType']"; 
namespace = "http://www.reuters.com/ns/2003/08/content";

しかし、私は得ることができますNone

私の方法の何が問題になっていますか?

ありがとう

4

1 に答える 1

0

属性を一致させるために使用する必要があり、@一致しようとしているときに名前空間を指定しないでくださいlocal-name()

expr= "//packageItem/itemMeta/itemClass/@*[local-name()='msgType' and namespace-uri()='http://www.reuters.com/ns/2003/08/content']";
于 2013-08-05T06:52:36.117 に答える