У меня есть большой документ XML, который выглядит следующим образом:питон прибудете XML запрос родитель
<Node name="foo">
<Node name="16764764625">
<Val name="type"><s>3</s></Val>
<Val name="owner"><s>1</s></Val>
<Val name="location"><s>4</s></Val>
<Val name="brb"><n/></Val>
<Val name="number"><f>24856</f></Val>
<Val name="number2"><f>97000.0</f></Val>
</Node>
<Node name="1764466544">
<Val name="type"><s>1</s></Val>
<Val name="owner"><s>2</s></Val>
<Val name="location"><s>6</s></Val>
<Val name="brb"><n/></Val>
<Val name="number"><f>265456</f></Val>
<Val name="number2"><f>99000.0</f></Val>
</Node>
...
</Node>
Моя миссия состоит в том, чтобы получить значение родительского узла: 1764466544 (значение имени в 2 узла) посредством производства поиск, чтобы найти, если подэлемент узла Val name = "number" содержит 265456
Я делал кучу чтения на XPath и ElementTree, но я все еще не уверен, с чего начать на самом деле запрашивать это. Ищите примеры ... В результате я не могу найти ссылку на родительский узел.
Еще новичок в python .. любые предложения будут оценены.
Благодаря
@itwb - Я никогда не пытался XPath на Python, так что часть зависит от вас, но XPath выше работает абстрактно. Проверьте его здесь, например: http://www.xmlme.com/XpathTool.aspx –
Да, спасибо за это. Теперь я получаю эту ошибку: SyntaxError: не может использовать абсолютный путь для элемента. – itwb
Я на незнакомой территории здесь, но [эта ссылка] (http://nltk.googlecode.com/svn/trunk/doc/api/nltk.etree.ElementPath-pysrc.html) показывает следующий код для выражений XPath с ведущим '/': 'raise SyntaxError (" не может использовать абсолютный путь для элемента ")'. Может быть, попробуйте относительное выражение? Этот 'Node/Node [Val [@ name = 'number']/f = '265456']/@ name' или этот' // Node/Node [Val [@ name = 'number']/f = '265456' ]/@ name' –