我肯定在这里遗漏了一些重要的细节.我只是不能使.NET的XPath与Visual Studio项目文件一起工作.
我们加载一个xml文档:
var doc = new XmlDocument();
doc.Load("blah/blah.csproj");
Run Code Online (Sandbox Code Playgroud)
现在执行我的查询:
var nodes = doc.SelectNodes("//ItemGroup");
Console.WriteLine(nodes.Count); // whoops, zero
Run Code Online (Sandbox Code Playgroud)
当然,文件中有名为ItemGroup的节点.此外,此查询有效:
var nodes = doc.SelectNodes("//*/@Include");
Console.WriteLine(nodes.Count); // found some
Run Code Online (Sandbox Code Playgroud)
使用其他文档,XPath工作得很好.我对此完全感到困惑.有人能解释我发生了什么吗?
我试图序列化一个对象并将其保存到Sql server 2008 xml字段中.我还有一些反序列化代码,可以重新保存对象.我能够将对象序列化并保存到db中,但是会出现"Root element missing"异常.
[XmlRoot("Patient")]
public class PatientXml
{
private AddressXml _address = null;
private EmergencyContactXml _emergencyContact = null;
private PersonalXml _personal = null;
[XmlElement]
public PersonalXml Personal
{
get { return _personal; }
set { _personal = value; }
}
[XmlElement]
public AddressXml Address
{
get { return _address; }
set { _address = value; }
}
[XmlElement]
public EmergencyContactXml EmergencyContact
{
get { return _emergencyContact; }
set { _emergencyContact = value; }
}
public PatientXml(){}
public …Run Code Online (Sandbox Code Playgroud)