[英]Creating efficient code for generating xml with xdocument
我正在使用Xdocument生成XML文件,但是,我生成的代碼效率不高(代碼中有太多新對象)。 我想知道您是否可以告訴我代碼的哪些部分需要更改。
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";
}
如您所見,我已經使用了許多新的xElement。 有什么方法可以擺脫XElements?
如果您在StringWriter上使用XmlWriter,則可以使用例如
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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.