Bei einer XML-Struktur wie folgt:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Wie könnte ich den Wert von lang
(wo lang
steht eng
im Buchtitel) für das erste Element erhalten?
Antworten:
Verwendung :
Dies bedeutet :
Wählen Sie das
lang
Attribut des Titelelements aus, das dem erstenbook
untergeordneten Element des obersten Elements des XML-Dokuments untergeordnet ist.Verwenden Sie die Standard-XPath-Funktion, um nur den Zeichenfolgenwert dieses Attributs abzurufen
string()
:quelle
lang
Attributs. Wenn das Attribut keine eckigen Klammern enthält, sind sie nicht Teil des Ergebnisses der Auswertung des XPath-Ausdrucks. Ich vermute, dass diese von einem (unangemessenen) Tool hinzugefügt werden, das Sie verwenden./*/book[1]/title/@lang
wählt einen Knotensatz von 0 oder mehr Attributknoten aus, während der XPath-Ausdruckstring(/*/book[1]/title/@lang)
bei der Auswertung den Zeichenfolgenwert dieses Knotensatzes erzeugt - und dies ist der Zeichenfolgenwert des ersten (in Dokumentreihenfolge). Knoten aus diesem Knotensatz.lang="eng"
ist nur eine von vielen Textdarstellungen eines Attributknotens, der einen Namen "lang" hat, nicht zu einem Namespace gehört und einen Zeichenfolgenwert hat, die Zeichenfolge "eng"Vielen Dank! Dies löste ein ähnliches Problem, das ich mit einem Datenattribut in einem Div hatte.
Verwenden Sie diesen xpath:
//*[@id="prop_sample"]/@data-want
Hoffe das hilft jemand anderem!
quelle
Sie können unter xPath Muster versuchen,
quelle
Sie können es auch bekommen
Wenn Sie XMLDOM mit JavaScript verwenden, können Sie beispielsweise so etwas codieren
und
n1.text
wird Ihnen den Wert geben"eng"
quelle
Sie können verwenden:
Dies bedeutet, dass Sie alle Attributknoten mit dem Namen "lang" erhalten und den ersten erhalten.
quelle
Hier ist der Ausschnitt zum Abrufen des Attributwerts "lang" mit XPath und VTD-XML.
quelle
Wenn Sie PostgreSQL verwenden, ist dies der richtige Weg, um es zu bekommen. Dies ist nur eine Vermutung , wo , wie Sie eine haben Buchtabelle TITEL und PREIS Spalte mit bevölkerten Daten. Hier ist die Abfrage
quelle