den eğildi Yorumlar
XmlNodeList list = xmlDoc.SelectNodes("//comment()");
foreach(XmlNode node in list)
node.ParentNode.RemoveChild(node);
kaldırır), öneri:
@Anthony tarafından önerilen XPath ifadesini kullanarak, aşağıdaki düğüm işlevine sahip olan yorum düğümünü başarıyla yükleyebildim:
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 "";
}
}
Numune çağırma:
SelectComment("<table><length> 12</length><!--Some comment here--></table>");
Çıktı:
"Some comment here"
Notlar:
a. MSXML sürümünüz değişebilir. Lütfen uygun şekilde kullanın.
b. Bu tür bir kod kesinlikle IE'de çalıştığı için kesinlikle önerilmez.Ancak, açıkça belirtilen gereksiniminiz olduğundan, ActiveXObject'i kullandım.
c. Yorumlarınızda, önerilen XPath ifadelerinde nelerin başarısız olduğunu belirtmediniz. Tahminim, alınan düğümün text
özelliğini sorgulamamanızdır. SelectSingleNode öğesinin her zaman bir IXmlNode
döndürdüğünü ve data
veya text
özelliklerini sorgulamanız gerektiğini unutmayın.
MSXML DOM ActiveX kullanıyorum ve bu komut başarısız görünüyor ... Herhangi bir fikri neden? – Manoj
Hayır, neden olduğu hakkında hiçbir fikrim yok. MSXML kütüphanelerini kullanmamdan bu yana 7 yıl geçti ... –
Xpath kökünüzün iyi mi? Emin olmak için "// comment()" ı deneyin. – annakata