c# - 如何读取序列化 XML 文件中的节点?
问题描述
我正在尝试读取序列化 XML 文件中的节点。这是 XML 文件的第一部分(我使用的是屏幕截图,因为粘贴的格式很奇怪):
这是我用来读取 XML 的代码及其引发的错误:
我正在尝试读取<ScenarioDescription>
节点。
根据要求,这是整个 XML 文件。不幸的是,这只是一团糟。这是XML 文件的链接。
解决方案
你应该你需要指定命名空间。在这种特殊情况下,默认命名空间用于声明http://schemas.datacontract.org/2004/07/ModelLib
命名空间。
var xml = new XmlDocument();
xml.LoadXml(str);
XmlNamespaceManager ns = new XmlNamespaceManager(xml.NameTable);
ns.AddNamespace("x", xml.DocumentElement.NamespaceURI);
var root = xml.DocumentElement;
var test = root.SelectSingleNode("//x:ScenarioDescription",ns);
var scenarioText = test.InnerText;
推荐阅读
- java - 在 Maven 命令中传递 env 变量
- google-app-engine - App Engine 项目中应在何处连接 django 信号处理程序
- javascript - 使用 Fuzzy.js 和 Tables 进行模糊搜索?反应JS
- javascript - 试图获得光线投射器的交点
- python - 用于空间 GraphQL 项目的 neo4j python 驱动程序
- python - 如何在 scrapy_redis.pipelines.RedisPipeline 中提高 scrapy.exceptions.DropItem
- notepad++ - Notepad++:用不同颜色突出显示正则表达式
- php - 在 laravel 中指定表单
- c++ - 用未知长度的列填充向量
- java - Exo 播放器上的方向更改视频从头开始,而不是从以前的位置开始