私はXHTMLファイルを持っている:のXmlDocument無視のxmlns
<html xmlns="http://www.w3.org/1999/xhtml">
私はそれをロードします。
XmlDocument xml = new XmlDocument();
StringReader sr = new StringReader(html);
XmlTextReader xmltr = new XmlTextReader(sr);
xmltr.Namespaces = false;
xml.Load(xmltr);
を私はいつもThe 'xmlns' attribute is bound to the reserved namespace 'http://www.w3.org/2000/xmlns/'.
例外だxml.InnerXml
を呼び出し、内部XMLにアクセスすることができない場合には、私のXmlDocument。どのようにロード中にxmlnsを取り除く?
ソリューションです:推測で
XmlNode xmln = xml.SelectSingleNode("//html");
if (xmln != null)
((XmlElement)xmln).RemoveAttribute("xmlns");
あなたのXHTML宣言は 'http:// www.w3.org/1999/xhtml'について語っていますが、ここで説明したエラーは' http://www.w3.org/2000/xmlns'彼らはどちらも正しいのですか? –
はい、私のサードパーティのXHTMLは1999年で例外は2000と言います。 – Denis
もっと重要なビットは "xhtml"と "xmlns"のビットです... –