请问使用DOMXpart如何快速定位某一个DOMElement呢?

WBOY
Freigeben: 2016-06-06 20:49:22
Original
1151 Leute haben es durchsucht

假设有这么一个xml,这个可以不固定

<code><root>
    <home>
        <sea id="s1">
            <uv name="l1">test.1
            <op name="l1">test.2</op>
        </uv></sea>
        <sea id="s2">
            <uv name="l2">test.3</uv>
            <op name="l1">test.4
            <uv name="l1">test.5</uv>
        </op></sea>
    </home>
    <home>...</home>
</root>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我先通过DOMDocument获取到一个ID截点,如下:

<code>$dom = new DOMDocument;
$s1 = $dom->getElementByID('s1');
// 返回一个DOMElement对象..做一些列操作,略

$xpath = new \DOMXpath;
// 获取ID截点下uv的name属性为l1的截点
</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问,我如何根据DOMElement对象,快速定位到这个截点,而不是从根目录一级一级往下获取,如:

<code>(new DOMXpath)->query('/root/home/sea/uv[name=l1]');
</code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

假设有这么一个xml,这个可以不固定

<code><root>
    <home>
        <sea id="s1">
            <uv name="l1">test.1
            <op name="l1">test.2</op>
        </uv></sea>
        <sea id="s2">
            <uv name="l2">test.3</uv>
            <op name="l1">test.4
            <uv name="l1">test.5</uv>
        </op></sea>
    </home>
    <home>...</home>
</root>
</code>
Nach dem Login kopieren
Nach dem Login kopieren

我先通过DOMDocument获取到一个ID截点,如下:

<code>$dom = new DOMDocument;
$s1 = $dom->getElementByID('s1');
// 返回一个DOMElement对象..做一些列操作,略

$xpath = new \DOMXpath;
// 获取ID截点下uv的name属性为l1的截点
</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问,我如何根据DOMElement对象,快速定位到这个截点,而不是从根目录一级一级往下获取,如:

<code>(new DOMXpath)->query('/root/home/sea/uv[name=l1]');
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!