Frage

Ich brauche eine Liste von Tags zu erhalten, die ein bestimmtes Attribut enthalten. Ich bin mit DITA XML und ich brauche alle Tags, um herauszufinden, die a href Attribut hat.

Das Problem hierbei ist, dass das Attribut innerhalb jeden Tages sein kann, so XPath wird in diesem Fall nicht funktionieren. Zum Beispiel kann ein Image-Tag a href enthält, ein topicref Tag a href enthalten kann, und so weiter.

Also brauche ich eine XmlNodeList zu bekommen (wie von der getElementByTagName Methode zurückgegeben). Im Idealfall muss ich eine Methode getElementByAttributeName dass XmlNodeList zurückkehren sollte.

War es hilfreich?

Lösung

Ich könnte Ihr Problem hier haben falsch verstanden, aber ich denke, Sie möglicherweise einen XPath-Ausdruck verwenden können.

var nodes = doc.SelectNodes("//*[@href='pic1.jpg']");

Das oben gezeigte sollten alle Elemente mit href='pic1.jpg' zurück, wo doc ist die XmlDocument

Andere Tipps

Wenn Sie auf C #, dann wird der folgende Ansatz funktionieren könnte für Sie:

XDocument document = XDocument.Load(xmlReader);
XAttribute xa = new XAttribute("href", "pic1.jpg");
var attrList = document.Descendants().Where (d => d.Attributes().Contains(xa));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top