xml - XML 查询 (Xpath)
问题描述
我正在尝试获取有关特定演员的所有详细信息,并找到这个特定的演员,我有接收 XMLDoc 和 2 个字符串参数的函数:名字和姓氏,在我下面的代码中,我总是得到 0 个 NodesElements。有人可以告诉我我做错了什么吗?
public XmlNodeList Query3(XmlDocument xmlDoc, String actorFirstName, String actorLastName)// returns all the awards of all TV-shows of an actor
{
string s = "Netflix/movies/movie/actors/actor[first-name="+actorFirstName+"last-name="+actorLastName+"]";
XmlNodeList xmlNodeList = xmlDoc.SelectNodes(s);
foreach (XmlNode x1 in xmlNodeList)
{
Console.WriteLine(x1.InnerText);
}
return xmlNodeList;
}
XML文档:
<?xml version="1.0"?>
<Netflix>
<movies>
<movie>
<name>Mister Glass</name>
<genre>Drama</genre>
<year>2019</year>
<actors>
<actor>
<first-name>James</first-name>
<last-name>McAvoy</last-name>
<year-of-birth>1979 </year-of-birth>
<awards>
<award>
<category>Alliance of Women Film Journalists</category>
<year>2007</year>
</award>
<award>
<category>ALOS Awards</category>
<year>2018</year>
</award>
</awards>
</actor>
<actor>
<first-name>Bruce</first-name>
<last-name>Willis</last-name>
<year-of-birth>1955 </year-of-birth>
<awards>
<award>
<category>American gun rights advocates</category>
<year>2007</year>
</award>
<award>
<category>American film producers</category>
<year>2013</year>
</award>
<award>
<category>American male video game actors</category>
<year>2012</year>
</award>
<award>
.
.
.
.
解决方案
改变
[first-name="+actorFirstName+"last-name="+actorLastName+"]";
至
[first-name="+actorFirstName+" and last-name="+actorLastName+"]";
^^^^^
推荐阅读
- python-3.x - 根据另一列的值在数据框的列上应用函数,然后按 groupby
- excel - 将 excel 转换为特定类型的 XML 格式?
- git - 如何将 core.sshCommand 选项传播到子模块更新?
- c# - 在应用服务层访问 HttpContext
- visual-studio-code - vscode 查找选项卡始终转到要包含的文件
- docker - Docker克隆mysql镜像进行备份
- sql - 如何在我的 T-SQL 查询的过滤条件中实现“小于”和“IN”的逻辑?
- shell - 使用 sed 替换文件中的版本
- string - Shell 脚本 - 如何从 sting "T=50" 中获得 50?
- google-maps - 如何使用 Google Maps For Flutter 将初始相机位置设置为当前设备的经纬度