我尝试解析XML文件并从中收集所需的值。我有以下XML:
<?xml version="1.0"?>
<TDXItem>
<PROJECT_NAME name="Project_MNG_Test">
<PROJECT_ID>1022</PROJECT_ID>
<DOMAIN_NAME>PROJECTS_MNG</DOMAIN_NAME>
<DB_NAME>projects_mng_project_mng_test_</DB_NAME>
</PROJECT_NAME>
<PROJECT_NAME name="Project_MNG_Test1">
<PROJECT_ID>1023</PROJECT_ID>
<DOMAIN_NAME>PROJECTS_MNG</DOMAIN_NAME>
<DB_NAME>projects_mng_project_mng_test1_</DB_NAME>
</PROJECT_NAME>
</TDXItem>
我尝试了很多代码,最近的代码如下:
public static void RunQuery(){
string UserName = null;
string xmlURI = "Sites_Name.xml";
XDocument doc = XDocument.Load(xmlURI);
var field = doc.Descendants("PROJECT_NAME").Where(x => (string)x.Attribute("name") == "PROJECT_MNG_Test").FirstOrDefault();
if (field != null)
{
// Use value here
string value = (string)field.Element("DB_NAME");
}
}
但是我的价值一直都是空的,我尝试了许多约会工作。 我知道这是我的坏事,但我不知道在我的代码或构建XML文件的方式。
答案 0 :(得分:0)
您不应在此处指定命名空间,例如使用:
var field = doc.Descendants("PROJECT_NAME")
.Where(x => (string)x.Attribute("name") == "Project_MNG_Test").FirstOrDefault();