Xdocument正在尝试创建XML文件,但ListBox出现问题
因此,我决定使用XDocument创建一个XML文件,在我遇到一个必须在列表框中查找所有选定项的部分之前,该文件一直工作得很好。我不确定该如何格式化此文件Xdocument正在尝试创建XML文件,但ListBox出现问题,xml,linq,linq-to-xml,Xml,Linq,Linq To Xml,因此,我决定使用XDocument创建一个XML文件,在我遇到一个必须在列表框中查找所有选定项的部分之前,该文件一直工作得很好。我不确定该如何格式化此文件 XDocument xmlDoc = new XDocument( new XDeclaration("1.0", "utf-8", "yes"), new XComment("Created: " + DateTime.Now.ToString()),
XDocument xmlDoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("Created: " + DateTime.Now.ToString()),
new XElement("Trip",
new XElement("TripDetails",
new XElement("Departure", txtDeparture.Text),
new XElement("Return", txtReturn.Text),
new XElement("Purpose", txtPurpose.Text),
new XElement("Region", ddlRegion.SelectedValue.ToString()),
//Not working
new XElement("Countries",
foreach(string x in lstCountry.SelectedValue)
{
new XElement("Country",x);
}
)
)
)
);
我想在Countries下的子节点中输出每个选定的国家,LINQ to XML在这方面非常好-如果您为其提供一段可编辑的内容,它将进行迭代。试试这个:
XDocument xmlDoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("Created: " + DateTime.Now.ToString()),
new XElement("Trip",
new XElement("TripDetails",
new XElement("Departure", txtDeparture.Text),
new XElement("Return", txtReturn.Text),
new XElement("Purpose", txtPurpose.Text),
new XElement("Region", ddlRegion.SelectedValue.ToString()),
new XElement("Countries",
lstCountry.SelectedValues
.Cast<string>()
.Select(x => new XElement("Country", x))
)
)
);
XDocument xmlDoc=新XDocument(
新的XDE声明(“1.0”、“utf-8”、“是”),
新建XComment(“已创建:+DateTime.Now.ToString()),
新XElement(“旅行”,
新XElement(“TripDetails”,
新的XElement(“离开”,txtdeefation.Text),
新的XElement(“Return”,txtreurn.Text),
新XElement(“目的”,txtPurpose.Text),
新XElement(“Region”,ddlRegion.SelectedValue.ToString()),
新概念(“国家”,
lstCountry.SelectedValues
.Cast()
.选择(x=>new-XElement(“国家”,x))
)
)
);
请注意,我已将
SelectedValue
更改为SelectedValues
,以获取多个值。如果这不是您想要的,您应该能够相应地调整它。LINQ to XML在这方面非常好-如果您为它提供了一段可编辑的内容,它将进行迭代。尝试以下操作:
XDocument xmlDoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("Created: " + DateTime.Now.ToString()),
new XElement("Trip",
new XElement("TripDetails",
new XElement("Departure", txtDeparture.Text),
new XElement("Return", txtReturn.Text),
new XElement("Purpose", txtPurpose.Text),
new XElement("Region", ddlRegion.SelectedValue.ToString()),
new XElement("Countries",
lstCountry.SelectedValues
.Cast<string>()
.Select(x => new XElement("Country", x))
)
)
);
XDocument xmlDoc=新XDocument(
新的XDE声明(“1.0”、“utf-8”、“是”),
新建XComment(“已创建:+DateTime.Now.ToString()),
新XElement(“旅行”,
新XElement(“TripDetails”,
新的XElement(“离开”,txtdeefation.Text),
新的XElement(“Return”,txtreurn.Text),
新XElement(“目的”,txtPurpose.Text),
新XElement(“Region”,ddlRegion.SelectedValue.ToString()),
新概念(“国家”,
lstCountry.SelectedValues
.Cast()
.选择(x=>new-XElement(“国家”,x))
)
)
);
请注意,我已将
SelectedValue
更改为SelectedValues
,以获取多个值。如果这不是您想要的,您应该能够相应地进行调整。非常感谢,但列表框中不包含SelectedValues的定义。不确定如何通过获取selected来获取多个值索引和无需强制转换需要新的XElement(“国家”,lstCountry.GetSelectedIndices()。选择(x=>新XElement(“国家”,x))非常感谢您的感谢,但是列表框没有包含selectedValues的定义。不知道如何通过获取SelectedDice和无需强制转换的新XElement(“Countries”,lstCountry.GetSelectedDices()。Select(x=>new XElement(“Country”,x))来获取多个值以实现此目的再次感谢