Basándose en los comentarios de la OP a respuestas publicadas (y mi curiosidad de por qué esta cosa simple no funcionaría), aquí está mi sugerencia:
Utilizando la expresión XPath sugerida por @Anthony, pude cargar con éxito el nodo de comentario con la siguiente función JS:
function SelectComment(s)
{
var xDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
if (xDoc)
{
xDoc.loadXML(s);
var selNode = xDoc.selectSingleNode("/table/length/following::comment()[1]");
if (selNode != null)
return selNode.text;
else
return "";
}
}
invocación de la muestra:
SelectComment("<table><length> 12</length><!--Some comment here--></table>");
de salida:
"Some comment here"
Notas:
a. Su versión MSXML puede variar. Por favor use apropiadamente.
b. Este tipo de código definitivamente no es recomendable porque funciona solo en IE.Sin embargo, dado que este es su requisito explícitamente establecido, he usado ActiveXObject.
c. No ha mencionado en sus comentarios lo que falla en las expresiones XPath sugeridas. Supongo que no está consultando la propiedad text
del nodo recuperado. Tenga en cuenta que SelectSingleNode siempre devuelve IXmlNode
y necesita consultar sus propiedades data
o text
.
Estoy usando MSXML DOM ActiveX y este comando parece estar fallando ... ¿Alguna idea de por qué? – Manoj
No, no tengo idea de por qué. Pasaron más de 7 años desde la última vez que utilicé las bibliotecas MSXML ... –
¿Seguro que su raíz de xpath está bien? Pruebe "// comment()" para asegurarse. – annakata