string str = "<?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml' /><v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></v:line>"如何将构造一个XmlDocument对象,使得此对象的内容为str???
我直接构造老是抛出异常,帮我看下啊...
我是这样构造的:
XmlDocument xmlDoc = new XmlDocument();
mlDoc.LoadXml(str);//抛出异常...
请给出详细的可运行代码,否则不给分...

解决方案 »

  1.   

    xmlstr += "<?xml version='1.0'?>";
    xmlstr +="<user>";
    xmlstr +="<v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'/>";
    xmlstr +="</user>";XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlstr);
    doc.Save(Server.MapPath("xx.xml"));这样不可以么?
      

  2.   

    回复(snyl(练习、练习、再练习) )
    我想你这么写的:
            string xmlstr = "";
            xmlstr += "<?xml version='1.0'?>";
            xmlstr += "<user>";
            xmlstr += "<v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'/>";
            xmlstr += "</user>";        XmlDocument doc = new XmlDocument();
            doc.LoadXml(xmlstr);
    还是抛出异常,提示(“v”是未声明的命名空间。 行 1,位置 29。)
      

  3.   

    不能有*:*这样的节点,就是结点名中不能有":"符号,例如<a:b></a:b>是错误的。
      

  4.   

    string xmlstr = "";
            xmlstr += "<?xml version='1.0'?>";
            xmlstr += "<user>";
            xmlstr += "<aa style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'/>";
            xmlstr += "</user>";应该是不符合xml规则吧
      

  5.   

    http://homepage.yesky.com/481/2466981.shtml?324
      

  6.   

    节点名称重有“:”是不合法的,也就"<v:line></v:line>"不合法。
      

  7.   

    请给出详细的可运行代码,否则不给分...
    ============================================
    唉,你和我一样啊,我也想找详细一点的代码,可惜挺难的啊,很多时候都是自己找到的,虽然你不给我分,还是帮你顶个吧,你的心情我可以理解,
    给你一个微软的类库吧,里面很多的示例代码,你自己找找,都有的
    http://msdn2.microsoft.com/zh-cn/library/system.data.dataview.rowfilter(vs.80).aspx
      

  8.   

    zhoufoxcn(周公) ( ) 信誉:100    Blog   加为好友  2007-05-11 22:38:09  得分: 0  
     
     
       不能有*:*这样的节点,就是结点名中不能有":"符号,例如<a:b></a:b>是错误的。
      
     
    他说的很清楚的,你的xml文件有错误,不是你的代码有错误。
    楼主要先修正xml文件。
      

  9.   

    经测试,OK通过,代码如下,记得给分..
      string sxml = "<?xml version='1.0'?><x><y>yyname</y></x>";//sample2 and 1.xml is sample3
            System.Text.ASCIIEncoding ae = new System.Text.ASCIIEncoding();
            byte[] byteXML = ae.GetBytes(sxml);
            System.IO.MemoryStream myStream = new System.IO.MemoryStream(byteXML);
            XmlDocument myDoc = new XmlDocument();
            myDoc.Load(myStream);
            myDoc.Save(Server.MapPath("xx.xml"));
      

  10.   

    晕啊,string str = "<?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml' /><v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></v:line>"
    我也知道要构造一个XmlDocument时,str要符合xml语法,但是只是一个名称空间的问题啊,即把以下内容"<?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml' />"加入到名称空间里啊,在把我的str用LoadXml方法或者其他的方法加载到xmlDoc里。。
    反正一句话,我不管你们怎么写,你构造的XmlDocument对象里的Xml内容必须是str,即你构造的XmlDocument里的Xml内容必须是"<?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml' /><v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></v:line>"。。
    就这样...
      

  11.   

    cyq1162(尘世中一个迷途小书童) 你写的不符合我的要求啊。。
      

  12.   

    string str = "<?xml version="1.0"  encoding="UTF-16"?>
    <v style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></v>"
      

  13.   

    楼主的口气真盛,不知道是在求人还是在施舍人,100分嘛。
    你的xml格式不对,先看看xml的格式到底该怎么写吧
      

  14.   

    這句要來有可以不要了吧?<?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml' />
    ---------------------------
    <?xml version="1.0"  encoding="utf-16"?>
    <v:line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></v:line>
    -----------------------------如Xsl中的格式文件
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/xsl">
      <xsl:template match="/" />
    </xsl:stylesheet>
    ------------
    C#中代碼﹕
    XmlTextWriter myWriterxsl = new XmlTextWriter(@"E:\testxsl.xsl", Encoding.UTF8);
                myWriterxsl.Formatting = Formatting.Indented;
                myWriterxsl.WriteStartDocument();
                myWriterxsl.WriteStartElement("xsl", "stylesheet", "http://www.w3.org/TR/xsl");
                 myWriterxsl.WriteStartElement("xsl", "template",null);
                myWriterxsl.WriteAttributeString("match", "/");
                  myWriterxsl.WriteEndElement();
                myWriterxsl.WriteEndDocument();
                myWriterxsl.Flush();
                myWriterxsl.Close();
    自己先看一看是否要的是想加載這樣的格式﹗對照再改你的str
      

  15.   

    string str ="<?xml version="1.0"?><?xml:namespace prefix = v ns = 'urn:schemas-microsoft-com:vml'?><v><line style='Z-INDEX: 1001; LEFT: 107px; POSITION: absolute; TOP: 111px' from = '0,0' to = '274.5pt,95.25pt' strokecolor = 'black' strokeweight = '1pt'></line></v>";
      

  16.   

    将str中的内容用正则表达式替换下