1

特定の属性を含むタグのリストを取得する必要があります。DITA xmlを使用していますが、href属性を持つすべてのタグを見つける必要があります。

ここでの問題は、属性が任意のタグ内にある可能性があるため、この場合XPathが機能しないことです。たとえば、画像タグにはhrefが含まれ、topicrefタグにはhrefが含まれる場合があります。

したがって、XmlNodeList(メソッドによって返されるようにgetElementByTagName)を取得する必要があります。理想的には、getElementByAttributeNameを返す必要があるメソッドが必要XmlNodeListです。

4

2 に答える 2

5

ここであなたの問題を誤解したかもしれませんが、XPath式を使用できる可能性があると思います。

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

上記は、ですべての要素を返す必要がありますhref='pic1.jpg'。ここdocで、はXmlDocument

于 2010-09-06T13:02:45.807 に答える
3

C#を使用している場合は、次のアプローチが有効です。

XDocument document = XDocument.Load(xmlReader);
XAttribute xa = new XAttribute("href", "pic1.jpg");
var attrList = document.Descendants().Where (d => d.Attributes().Contains(xa));
于 2010-09-06T12:56:02.307 に答える