问题描述
stringXmlHead="<?xmlversion="1.0"encoding="UTF-8"?>";XmlHead="<soapenv:Envelopexmlns:soapenv="+"http://schemas.xmlsoap.org/soap/envelope/"+"xmlns:mk="+"http://mk.ag.sa.csg.cn"+">"+"<soapenv:Header/>"+"<soapenv:Body>"+"<mk:I_DNJLSBXCJYZZ_CXJYDCSJRequest>"+"<mk:SB_XCJYJHMX_IN>"+"<mk:CXLB>2</mk:CXLB>"+"</mk:SB_XCJYJHMX_IN>"+"</mk:I_DNJLSBXCJYZZ_CXJYDCSJRequest>"+"</soapenv:Body>"+"</soapenv:Envelope>";WriteXMLFile(XmlHead,"SendMessage.xml");//测试想把以上字符串拼接后用WriteXMLFile写入XML文档报错:错误描述:System.Xml.XmlException:“xmlns”是一个意外标记。应为空格。第1行,位置76。在System.Xml.XmlTextReaderImpl.Throw(Exceptione)在System.Xml.XmlTextReaderImpl.Throw(Stringres,Stringarg)在System.Xml.XmlTextReaderImpl.ThrowExpectingWhitespace(Int32pos)在System.Xml.XmlTextReaderImpl.ParseAttributes()在System.Xml.XmlTextReaderImpl.ParseElement()在System.Xml.XmlTextReaderImpl.ParseDocumentContent()在System.Xml.XmlTextReaderImpl.Read()在System.Xml.XmlLoader.Load(XmlDocumentdoc,XmlReaderreader,BooleanpreserveWhitespace)在System.Xml.XmlDocument.Load(XmlReaderreader)在System.Xml.XmlDocument.LoadXml(Stringxml)在GuiYangInterface.FormGetTask.WriteXMLFile(StringsXML,StringXMLFile)位置D:GuiYangInterfaceGuiYangInterfaceFormGetTask.cs:行号269怎么处理?
解决方案
解决方案二:
privatevoidWriteXMLFile(stringsXML,stringXMLFile)//把字符串sXML写入XMLFile中{try{System.Xml.XmlDocumentSysXML=newXmlDocument();SysXML.LoadXml(sXML);SysXML.Save(XMLFile);}}
解决方案三:
利用file类去保存就可以了。作为一般文本
解决方案四:
"<soapenv:Envelopexmlns:soapenv="+"http://schemas.xmlsoap.org/soap/envelope/"+"xmlns:mk="这两段之间可以看到没空格啊XML这么严格的?两个之间必须有空格?没注意过呢
解决方案五:
stringXmlHead="<?xmlversion="1.0"encoding="UTF-8"?>";XmlHead="<soapenv:Envelopexmlns:soapenv="
解决方案六:
如果你能确认你拼接的xml格式是对的,那么你按照写入txt的方式写入文本文件就行了,然后把扩展名改为xml根本不需要WriteXMLFile如果你用WriteXMLFile,那么格式就必须正确你把XmlHead给替换掉了,xml就根本没有头部了,那还是xml吗
解决方案七:
stringXmlHead="<?xmlversion="1.0"encoding="UTF-8"?>";XmlHead+="<soapenv:Envelopexmlns:soapenv=""+"http://schemas.xmlsoap.org/soap/envelope/""+"xmlns:mk=""+"http://mk.ag.sa.csg.cn""+">"