簡體   English   中英

使用屬性jsoup從標記中獲取文本

[英]Get text from tag with attribute jsoup

我試着從名為“數據”的標簽獲取文字,名稱=“telefono”,但我無法解決它:

<Placemark>
    <name>Iglesia </name>
    <description> Abril </description>

    <ExtendedData>
        <Data name='description'>
            <value>4444</Data>
        <Data name='phone'>
            <value>5555</value>
        </Data>
    </ExtendedData>
    <Point>
        <coordinates>-0.5191416,38.9848326,0.0</coordinates>
    </Point>
</Placemark>

我有一個“for”選擇所有地標:

for(org.jsoup.nodes.Element i : e.select("Placemark"))

我已經嘗試了所有可能性來獲得手機5555的價值

但我不知道,總是得到所有數據電話和描述。

System.out.println((i.select("ExtendedData").text()));
System.out.println((i.select("ExtendedData").select("Data").tagName("phone").text()));
System.out.println("(i.select("ExtendedData").tagName("phone").text()));

如果您只想獲得5555那么您可以使用<Data name='phone'> text() 如果可以有更多這樣的元素,那么你可能需要添加更多關於其祖先/父母的數據,但是例如你發布這個就足夠了:

System.out.println(doc.select("data[name=phone]").text());

的System.out.println((i.select( “ExtendedData”)選擇( “數據”)標簽名( “手機”)文本()));

上面的代碼不起作用,因為tagName方法將更新所有選定Data元素的標記名稱。 假設選擇了以下元素:

<Data name='phone'><value>5555</value></Data>

調用tagName方法會將其轉換為:

<phone name='phone'><value>5555</value></phone>

而是試試這個:

System.out.println( i.select("ExtendedData > Data[name=phone]").text() )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM