C# 无法从C中找到xml路径
这个问题一定很简单,但我遇到了一个我无法解决的问题。 无论我尝试什么,我都无法用linq解析这个xml并获得完整的路径值。 错误是找不到路径C# 无法从C中找到xml路径,c#,xml,linq,C#,Xml,Linq,这个问题一定很简单,但我遇到了一个我无法解决的问题。 无论我尝试什么,我都无法用linq解析这个xml并获得完整的路径值。 错误是找不到路径 XDocument doc = XDocument.Load(@"All.xml"); !![在此处输入图像描述][1] 我如何解决它? 如何在C中获取xml信息 谢谢 xml: 错误是找不到路径 XDocument doc = XDocument.Load(@"All.xml"); 第一:因为XDocument,您不再需要XmlReader了。见附图
XDocument doc = XDocument.Load(@"All.xml");
!![在此处输入图像描述][1]
我如何解决它?
如何在C中获取xml信息
谢谢
xml:
错误是找不到路径
XDocument doc = XDocument.Load(@"All.xml");
第一:因为XDocument,您不再需要XmlReader了。见附图:
如果无法成功加载xml文件,请确保xml文件位于exe文件所在的位置。请将xml文件副本设置为Local=true
如果更新,请选择复制(如果较新则复制)
如果您的xml文件的分析有任何问题,请:
var qname = from xElement in doc.Element("submitInfo").Elements()
from p in doc.Element("setting").Elements()
select p;
请注意,元素没有空字符串,因为这意味着您将读取元素的名称没有xml标记名称为空!:
至于真正的xml内容,请更改为以下内容:
XDocument doc = XDocument.Load(@"XMLFile.xml");
//get all the sub elemens under the "setting" tag:
var qnames = from p in doc.Element("submitInfo").Element("setting").Elements("add")
select p;
foreach(var add in qnames)
{
………………
}
var settingElement = doc.Element("submitInfo").Element("setting"); //Get the "setting" element.
//get "value" tag
var valueElement = doc.Element("submitInfo").Element("setting").Element("value");
关于您的第一个问题,这是一个文件放置的问题,除了需要确保您的文件位于bin\debug或bin\release文件夹或任何您的工作目录之外,我不能告诉您太多 至于读取XML,您可以将其全部解析为匿名类型并使用这些类型。这可能会更容易。如果您想使用具体类型,具体类型也有优势
当然,这还没有编译,但应该可以让您开始使用。然后您可以直观地使用它。如何在C中获取xml信息?您能否澄清您希望从文件中获得什么,以及您的代码的哪些部分无法做到这一点?因为您没有使用文件的完整路径,您是否验证了XMLFile.xml当前工作目录中是否存在?@MatthewHaugen我要获取xml文本并显示it@JeffMercado这个xml文件是c语言的,我可以使用相对路径?而且这个相对路径似乎不是你所想的。我无法获取xmlpath@sally:请将您的xml文件复制到您的exe或可执行程序所在的位置。我复制了它。它可以运行,谢谢我想问一下您可以吗我使用相对路径?
XDocument doc = XDocument.Load(@"XMLFile.xml");
//get all the sub elemens under the "setting" tag:
var qnames = from p in doc.Element("submitInfo").Element("setting").Elements("add")
select p;
foreach(var add in qnames)
{
………………
}
var settingElement = doc.Element("submitInfo").Element("setting"); //Get the "setting" element.
//get "value" tag
var valueElement = doc.Element("submitInfo").Element("setting").Element("value");
var file = XElement.Load(path);
var submitInfos = file.Elements("submitInfo")
.Select(submitInfo =>
{
Settings = submitInfo.Elements("setting")
.Select(setting =>
{
name = setting.Attribute("name").Value,
info = setting.Attribute("info").Value,
path = setting.Attribute("path").Value,
serializeAs = setting.Attribute("serializeAs").Value,
values = setting.Elements("add")
.ToDictionary(c => c.Attribute("name").Value, c => c.Attribute("value").Value)
})
});