c# - 使用 c# 和此人员库 NmapXmlParser 从 NMAP 输出解析 XML 数据
问题描述
这个特定库的开发者似乎是 MIA。 https://github.com/Kamiizumi/NmapXmlParser
要测试问题,请从 Nu-Get 获取他的库 (NmapXmlParser) 并确保您有
using System.Xml.Serialization;
using System.IO;
using Xunit;
他在示例中给出的代码如下所示
var xmlSerializer = new XmlSerializer(typeof(nmaprun));
var result = default(nmaprun);
using (var xmlStream = new StreamReader("NmapResults.xml"))
{
result = xmlSerializer.Deserialize(xmlStream) as nmaprun;
}
Console.WriteLine(result.args);
这在获取 nmaprun 对象内部的元素时有效。他没有给出任何其他示例,所以我假设如果我想检查主机对象,我会将上述代码中的所有 nmaprun 实例更改为主机。然后在控制台行上更改为主机对象内的一个元素,如下所示
var xmlSerializer = new XmlSerializer(typeof(host));
var result = default(host);
using (var xmlStream = new StreamReader("NmapResults.xml"))
{
result = xmlSerializer.Deserialize(xmlStream) as host;
}
Console.WriteLine(result.reason);
Console.Writeline 内部的 Intellisense 想要自动完成元素,所以我觉得它的设置正确,但我一直收到这个错误。
System.InvalidOperationException: 'XML 文档 (5, 2) 中存在错误。' 内部异常 InvalidOperationException: 不是预期的。
如果您没有 Nmap xml 输出文件,您可以在他的 Github 中使用示例 XML
解决方案
推荐阅读
- php - 将来自不同控制器的多个变量传递到 Laravel 8 中的单个视图
- typescript - 我无法在 React Native 中使用 styled-components 开玩笑
- angularjs - AngularJS 到 Angular12 的迁移(错误:无法解析 AppModule 的所有参数:(?))
- android - 无法使用 hilt 依赖注入注入应用程序上下文
- c++ - 在 Linux 机器中使用 CMakeSettings.json 指定 Qt 版本
- c# - 如何将文件和文件夹保存在一般列表中?
- javascript - 如何使用 jquery ui 调整大小为指示水平图表的日期以增加/减少 rails6 中的开始/结束日期
- pdf - Rmarkdown 正在针织 PDF 中打印乳胶代码
- javascript - 如何仅映射图像源属性的一部分
- python-3.x - 想要获取下一行输入字符串中输入的每个单词