から身を乗り出しコメント
XmlNodeList list = xmlDoc.SelectNodes("//comment()");
foreach(XmlNode node in list)
node.ParentNode.RemoveChild(node);
を削除します)、ここに私の提案があります:
@Anthonyで提案されたXPath式を使用して、次の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 "";
}
}
サンプル呼び出し:
SelectComment("<table><length> 12</length><!--Some comment here--></table>");
出力:
"Some comment here"
注:
。 MSXMLのバージョンは異なる場合があります。適切に使用してください。
b。この種のコードは、IE上でのみ動作するため、間違いなく推奨されています。しかし、これは明記された要件であるため、私はActiveXObjectを使用しました。
c。あなたのコメントには、提案されたXPath式で何が失敗したかは言及していません。私の推測では、取得したノードのtext
プロパティを照会していないということです。 SelectSingleNodeは常にIXmlNode
を返し、そのdata
またはtext
プロパティを照会する必要があることに注意してください。
私はMSXML DOM ActiveXを使用していますが、このコマンドは失敗しているようです...なぜか? – Manoj
いいえ、なぜ私は考えていません。最後にMSXMLライブラリを使用してから7年以上が経過しました。 –
確かに、あなたのXPathルートは大丈夫ですか? "// comment()"を試してください。 – annakata