c# - 从 HTML 中提取动态并填充 XML
问题描述
我正在使用 C#、HTMLAGILITYPACK、HTML 和 XML 编写应用程序。该应用程序从我的 HTML 页面中获取所有内容,并使用该信息创建一个 XML 存档。示例:这是我的字段:https ://prnt.sc/p6s958当我运行我的应用程序时,我得到了这个:https ://prnt.sc/p6saii
有我的情况:
我有一个由 STATUS 调用的字段集,并且运行了所有发生的事件,请看:https ://prnt.sc/p6sc6y
在那里,当发生某些事情时,HTML 会再收到一个,也许在那之后,又会收到一个……再一个……
我已经使用 HTMLAGILITYPACK 通过 xPtah 获取字段,所以这是我的事件字段集的结构,我找到了一种方法来获取内容并使用foreach一个一个地显示所有内容:
foreach (HtmlNode row in doc.DocumentNode.SelectNodes("//*[@id='NFe']/fieldset[5]/table/tr"))
{
HtmlNodeCollection cells = row.SelectNodes("td");
for (int i = 0; i < cells.Count; ++i)
{
if (i == 0)
{
MessageBox.Show(cells[i].InnerText); }
else
{
MessageBox.Show(cells[i].InnerText);
}
}
}
如何用我的 HTML 表的信息填充我的 XML?
当我想提取单个字段内容时,有一个示例:
var xp_nfe_emitente = "//*[@id='NFe']/fieldset[2]"; // getting my user_info fieldset
var xp_nfe_emitente_name = doc.DocumentNode.SelectSingleNode(xp_nfe_emitente + "//table/tr/td[1]/span").InnerText;
nota.NFe.infNFe.emit.name = xp_nfe_emitente_name;
/* Here, after extracted my info, I transform it on my XML (using a XMLschema)*/
XmlSerializer ser = new XmlSerializer(typeof(nfeProc));
FileStream archive= new FileStream("C:\\test\\myxml.xml", FileMode.CreateNew);
ser.Serialize(archive, note);
如果我不清楚,请告诉我,我可以提供更多信息和示例(代码)
解决方案
推荐阅读
- java - 如何知道 java.util.concurrent 未来接口是否仍然有效?
- python - 通过函数添加减法值并将数据附加到 for 循环的列表中
- python - \b 等效于在 python 中保持零宽度的 unicode 正则表达式
- c++ - 致命错误:dcmtk/config/osconfig.h:没有这样的文件或目录
- wordpress - 向每 100 个页面访问者显示不同的内容(wordpress)
- python - 将年份数字转换为 'yyyy-mm-dd' 格式
- reactjs - 错误 #11322 - 您网站的“gatsby-node.js”创建了一个页面,但没有将路径传递给组件
- python - `ast.literal_eval` 的最快实现
- c# - 尝试使用 memorystream 显示 PDF 时无法评估表达式错误
- recursion - 尝试将递归用于斐波那契数列(JAVA)时出现越界异常