C# Linq到XML转换器
有人能帮我做一下以下的事情吗(我正在努力形成这个问题) XML 我的解决方案:C# Linq到XML转换器,c#,xml,linq,C#,Xml,Linq,有人能帮我做一下以下的事情吗(我正在努力形成这个问题) XML 我的解决方案: public void example3() { var xElem = XElement.Load("test.xml"); var myobject = xElem.Descendants("response").Select( x => new MarketClockResponse { //Struggling to proc
public void example3()
{
var xElem = XElement.Load("test.xml");
var myobject = xElem.Descendants("response").Select(
x => new MarketClockResponse
{
//Struggling to proceed from here
});
}
您正在尝试从
response
元素(xml的根)中选择response
元素。直接使用此元素:
var responseElement = XElement.Load(path_to_xml);
var statusElement = responseElement.Element("status");
var myobject = new MarketClockResponse
{
response = new Response
{
Id = (string)responseElement.Attribute("id"),
date = (string)responseElement.Element("date"),
message = (string)responseElement.Element("message"),
status = new Status
{
current = (string)statusElement.Element("current"),
change_at = (string)statusElement.Element("change_at")
}
}
};
您正在尝试从
response
元素(xml的根)中选择response
元素。直接使用此元素:
var responseElement = XElement.Load(path_to_xml);
var statusElement = responseElement.Element("status");
var myobject = new MarketClockResponse
{
response = new Response
{
Id = (string)responseElement.Attribute("id"),
date = (string)responseElement.Element("date"),
message = (string)responseElement.Element("message"),
status = new Status
{
current = (string)statusElement.Element("current"),
change_at = (string)statusElement.Element("change_at")
}
}
};
首先,我将使用
XDocument.Load
而不是XElement.Load
,因为您的XML是一个带有声明等的文档
var xDoc = XDocument.Load("Input.txt");
然后,我设置了两个局部变量,以避免多次查询同一事物:
var resp = xDoc.Root;
var status = resp.Element("status");
并使用它们来获得您需要的:
var myobject = new MarketClockResponse
{
response = new Response
{
Id = (string)resp.Attribute("id"),
date = (string)resp.Element("date"),
message = (string)resp.Element("message"),
status = new Status
{
current = (string)status.Element("current"),
change_at = (string)status.Element("change_at")
}
}
};
首先,我将使用
XDocument.Load
而不是XElement.Load
,因为您的XML是一个带有声明等的文档
var xDoc = XDocument.Load("Input.txt");
然后,我设置了两个局部变量,以避免多次查询同一事物:
var resp = xDoc.Root;
var status = resp.Element("status");
并使用它们来获得您需要的:
var myobject = new MarketClockResponse
{
response = new Response
{
Id = (string)resp.Attribute("id"),
date = (string)resp.Element("date"),
message = (string)resp.Element("message"),
status = new Status
{
current = (string)status.Element("current"),
change_at = (string)status.Element("change_at")
}
}
};
XML是否总是只包含一个
响应元素?什么查询?问题是什么。他不知道如何从Xelementy构建对象它总是只包含一个响应标记XML总是只包含一个response
元素吗?什么查询?问题是什么?他不知道如何从Xelementy构建对象它总是只包含一个响应标记感谢您提供的分步说明特别是XDoc和XElement感谢您提供的分步说明特别是XDoc和XElement