AND 演算子 '|' の使用方法 2 つのノード セットを計算するには? つまり、異なるタグ名を持つ 2 つの兄弟のデータを計算します。この場合: edition タグと edition2 タグの両方からのデータが必要です。試してみました '| そしてそれはうまくいきませんでした。
XML :
<?xml version="1.0" encoding="utf-8"?>
<wikimedia>
<projects>
<project name="Wikipedia" launch="2001-01-05">
<editions>
<edition language="English">en.wikipedia.org</edition>
<edition language="German">de.wikipedia.org</edition>
<edition language="French">fr.wikipedia.org</edition>
<edition language="Polish">pl.wikipedia.org</edition>
<edition language="Spanish">es.wikipedia.org</edition>
<edition2 language="Spanglish">egs.wikipedia.org</edition2>
<img src="hello.gif">hello</img>
</editions>
</project>
<project name="Wiktionary" launch="2002-12-12">
<editions>
<edition language="English">en.wiktionary.org</edition>
<edition language="French">fr.wiktionary.org</edition>
<edition language="Vietnamese">vi.wiktionary.org</edition>
<edition language="Turkish">tr.wiktionary.org</edition>
<edition language="Spanish">es.wiktionary.org</edition>
<edition2 language="Spanglish">egs.wiktionary.org</edition2>
<img src="hello.gif">hello</img>
</editions>
</project>
</projects>
</wikimedia>
パイソン:
>>> wikixml.xpath('//edition/text() | edition2/text()')
['en.wikipedia.org', 'de.wikipedia.org', 'fr.wikipedia.org', 'pl.wikipedia.org', 'es.wikipedia.org', 'en.wiktionary.org', 'fr.wiktionary.org', 'vi.wiktionary.org', 'tr.wiktionary.org', 'es.wiktionary.org']
編集
img/@src
私は答えの後にそれを機能させましたが、ユニオン演算子を使用してこれを行うことができたの値も選択したいです|
>>> wikixml.xpath('//edition/text() | //edition2/text() | //img/@src')
['en.wikipedia.org', 'de.wikipedia.org', 'fr.wikipedia.org', 'pl.wikipedia.org', 'es.wikipedia.org', 'egs.wikipedia.org', 'hello.gif', 'en.wiktionary.org', 'fr.wiktionary.org', 'vi.wiktionary.org', 'tr.wiktionary.org', 'es.wiktionary.org', 'egs.wiktionary.org', 'hello.gif']
単一の述語を使用してこれを行う方法と、self
2 つの要素でここで行われているような表記法
/wikimedia/projects/project/editions/ *[self::edition or self::edition2]/text()
今、私たちは持ってい@src
ますtext()
か?