c# - 如何使用 xpath 读取 XML 文件的头信息
问题描述
期望的输出
我正在尝试使用 xpath 读取 xml 文档。我能够阅读一些元素,但有些不能。我正在尝试读取此 xml 文件并将此信息写入 excel 文件中
我尝试了以下
class Program
{
static void Main(string[] args)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:/Users/mypc/Documents/project/myfile.xml");
XmlNode titleNode = xmlDoc.SelectSingleNode("//header");
using (StreamWriter outputFile = new StreamWriter("C:/Users/myuser/Documents/project/WriteLines.txt"))
{
if (titleNode != null)
Console.WriteLine(titleNode.InnerText.ToString());
outputFile.WriteLine(titleNode.InnerText);
}
Console.ReadKey();
}
}
我的 xml 文件看起来像这样
<header version="2.0">
<phone>1234567</phone>
<houseNumber>45</houseNumber>
<date>2015-09-19</date>
<deliveryId>12345696015</deliveryId>
</header>
有什么办法可以阅读孩子并将其写入excel文件吗?
解决方案
希望此代码对您有所帮助.. {
DataTable dt = new System.Data.DataTable();
dt.TableName = "Details";
dt.Columns.Add("phone", typeof(string));
dt.Columns.Add("houseNumber", typeof(string));
dt.Columns.Add("date", typeof(string));
dt.Columns.Add("deliveryId", typeof(string));
dt.Rows.Add("1234567", "45","2015-09-19","KV12_3896096015");
//Create Temp directory to save xml file
var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
Directory.CreateDirectory(tempDir);
string path = Path.Combine(tempDir, string.Format("{0}.{1}", "Prodcuts", "xml"));
//Write to xml file
dt.WriteXml(path, System.Data.XmlWriteMode.IgnoreSchema);
//Create HttpClient and MultipartFormDataContent
using (var client = new HttpClient())
using (var formData = new MultipartFormDataContent())
using (var fromFile=File.OpenRead(path))
{
formData.Add(new StringContent("Test"), "FileName");
formData.Add(new StringContent("xlsx"), "FileFormat");
formData.Add(new StreamContent(fromFile), "DataFile",Path.GetFileName(path));
//Call WebAPI
var response = client.PostAsync(webapiURL, formData).Result;
if (!response.IsSuccessStatusCode)
{
MessageBox.Show("Invalid response.");
return;
}
var tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
//Save Excel file to Temp directory
}
推荐阅读
- java - 如何找到调用 openConnection() 而不是 closeConnection() 的方法?
- reactjs - 引入 ESLint 有多难?
- reactjs - 如何在反应应用程序上动态加载 JSON 文件
- python-3.x - 如何使用带有特定标记的 pyparsing 拆分文本?
- r - 在 R 中更改列向量的名称
- javascript - 将子节点传递给功能性反应组件编写的打字稿
- ruby-on-rails-6 - 有没有办法通过表单访问多对多 ActiveRecord 关联中的单个元素?
- sql - Linq2DB 无法翻译 Where 子句中的映射列
- javascript - 带有时间标签 xAxes 的 Charts.js
- python - 如何在应用 lambda 函数中对 if else 不做任何事情?