C# 如何在创建时将foreach循环放入XDocument中?
我正在创建的XDocument有一个小问题。我试图在文档创建过程中使用foreach循环,但我不知道如何实现它。 代码: 部分代码:C# 如何在创建时将foreach循环放入XDocument中?,c#,asp.net,foreach,linq-to-xml,C#,Asp.net,Foreach,Linq To Xml,我正在创建的XDocument有一个小问题。我试图在文档创建过程中使用foreach循环,但我不知道如何实现它。 代码: 部分代码: XDocument doc = null; doc = new XDocument( new XDeclaration("1.0", "ISO-8859-1", "no"), new XElement("data", new XElement("meta", new XEleme
XDocument doc = null;
doc = new XDocument(
new XDeclaration("1.0", "ISO-8859-1", "no"),
new XElement("data",
new XElement("meta",
new XElement("val",
new XAttribute("n", "printer"), DropDownPrinters.SelectedItem.Text),
new XElement("val",
new XAttribute("n", "autoprint"), "YES"),
new XElement("val",
new XAttribute("n", "test"), 0)
), //after this I need to loop through datarows, something like this
foreach (DataTable dt in ds3.Tables)
{
foreach (DataRow dr in dt.Rows)
{
new XElement("something",
new XAttribute("something", dr.Field<string>("3")),
new XElement("val",
new XAttribute("n", "something"), dr.Field<string>("0") + " " + dr.Field<string>(4) + " " + dr.Field<string>(5)),
new XElement("val",
new XAttribute("n", "something"), dr.Field<string>("0")),
new XElement("val",
new XAttribute("n", "something"), dr.Field<string>("0")),
new XElement("val",
new XAttribute("n", "something"), dr.Field<string>("0")),
new XElement("val",
new XAttribute("n", "something"), "SE"),
new XElement("val",
new XAttribute("n", "something"), dr.Field<string>("0")),
new XElement("val",
new XAttribute("n", "something"))
);
}}
XDocument doc=null;
doc=新XDocument(
新的XDeclaration(“1.0”、“ISO-8859-1”、“编号”),
新XElement(“数据”,
新XElement(“meta”,
新XElement(“val”,
新XAttribute(“n”、“打印机”)、下拉打印机。选择editem.Text),
新XElement(“val”,
新XAttribute(“n”、“自动打印”)、“是”),
新XElement(“val”,
新XAttribute(“n”、“测试”),0)
),//在此之后,我需要遍历数据行,类似这样
foreach(ds3.Tables中的数据表dt)
{
foreach(数据行dr在dt.行中)
{
新元素(“某物”,
新的贡献(“某物”,菲尔德博士(“3”),
新XElement(“val”,
新的XAttribute(“n”、“某物”)、dr.Field(“0”)+“”+dr.Field(4)+“”+dr.Field(5)),
新XElement(“val”,
新的XAttribute(“n”,“某物”),dr.Field(“0”),
新XElement(“val”,
新的XAttribute(“n”,“某物”),dr.Field(“0”),
新XElement(“val”,
新的XAttribute(“n”,“某物”),dr.Field(“0”),
新XElement(“val”,
新的XAttribute(“n”、“某物”)、“SE”),
新XElement(“val”,
新的XAttribute(“n”,“某物”),dr.Field(“0”),
新XElement(“val”,
新的XAttribute(“n”,“某物”))
);
}}
使用LINQ而不是foreach
,如下所示:
var something = from dt in ds.Tables.OfType<DataTable>()
from dr in t.AsEnumerable()
select
new XElement("something",
new XAttribute("something", dr.Field<string>("3")),
......
......
);
var something=来自ds.Tables.OfType()中的dt
来自t.AsEnumerable()中的dr
挑选
新元素(“某物”,
新的贡献(“某物”,菲尔德博士(“3”),
......
......
);
然后,您可以将变量
something
,放在foreach
应该位于的位置。使用LINQ而不是foreach
,类似这样:
var something = from dt in ds.Tables.OfType<DataTable>()
from dr in t.AsEnumerable()
select
new XElement("something",
new XAttribute("something", dr.Field<string>("3")),
......
......
);
var something=来自ds.Tables.OfType()中的dt
来自t.AsEnumerable()中的dr
挑选
新元素(“某物”,
新的贡献(“某物”,菲尔德博士(“3”),
......
......
);
然后,您可以将变量something
放在您的foreach
应该在的位置