首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用xdocument创建用于生成xml的高效代码

使用xdocument创建用于生成xml的高效代码
EN

Stack Overflow用户
提问于 2013-05-08 17:43:38
回答 1查看 215关注 0票数 0

我正在使用Xdocument生成一个XML文件,但是,我生成的代码效率不高(我的代码中有太多新对象)。我想知道你是否能告诉我我的代码的哪些部分需要修改。

代码语言:javascript
运行
复制
 XDocument doc = new XDocument();

        foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA"))
        {
            doc.Add(new XElement("Item", new XElement("GUID", el.Id), new XElement("Type",
                (el.GetAttribute("type").ToUpper())), new XElement("Title", el.GetAttribute("title")), new XElement("Name", el.Name),
                new XElement("Value", el.GetAttribute("value")), new XElement("MaxLength", el.GetAttribute("maxlength"))));                
            xmlcontents += Convert.ToString(doc.Document) + "\r\n";
        }

如你所见,我使用了很多新的xElements。有什么方法可以摆脱XElements吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 18:38:18

如果你在StringWriter上使用XmlWriter,你可以使用例如

代码语言:javascript
运行
复制
string xml;

using (StringWriter sw = new StringWriter())
{
  using (XmlWriter xw = XmlWriter.Create(sw, new XmlWriterSettings() { Indent = true }))
  {
    xw.WriteStartDocument();
    xw.WriteStartElement("Root");
    foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA"))
    {
      xw.WriteStartElement("Item");
      xw.WriteElementString("GUID", el.Id);
      xw.WriteElementString("Type", el.GetAttribute("type").ToUpper());
      // write further elements the same way
      xw.WriteEndElement();
    }
    xw.WriteEndElement();
    xw.WriteEndDocument();
  }
  xml = sw.ToString();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16437404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档