Pregunta

necesito para obtener una lista de las etiquetas que contienen un atributo específico. Estoy usando XML DITA y necesito averiguar todas las etiquetas que tiene un atributo href.

El problema aquí es que el atributo puede estar dentro de cualquier etiqueta de modo XPath no funcionará en este caso. Por ejemplo, una etiqueta de imagen puede contener un href, una etiqueta topicref puede contener a href, y así sucesivamente.

Por lo tanto, necesidad de conseguir un XmlNodeList (devuelto por el método getElementByTagName). Lo ideal es que necesito un getElementByAttributeName método que debe devolver XmlNodeList.

¿Fue útil?

Solución

Me podría haber entendido mal su problema aquí, pero creo que usted podría utilizar una expresión XPath.

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

Lo anterior debería devolver todos los elementos con href='pic1.jpg', donde doc es la XmlDocument

Otros consejos

Si se encuentra en C #, a continuación, el siguiente trabajo puede enfoque para usted:

XDocument document = XDocument.Load(xmlReader);
XAttribute xa = new XAttribute("href", "pic1.jpg");
var attrList = document.Descendants().Where (d => d.Attributes().Contains(xa));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top