阅读脚本文件,特别是c#
本文关键字:特别是 文件 脚本 | 更新日期: 2023-09-27 18:16:32
所以我有一个元文件,其中包含一个长脚本部分如下所示。我在这里发帖是因为我注意到你们回复的速度有多快&这已经困扰了我好几个小时了(真的)——我是新来的
示例脚本
<?xml version="1.0" encoding="UTF-8"?>
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData">
<handlingName>Car1</handlingName>
<fMass value="140000.000000" />
<fInitialDragCoeff value="30.000000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" />
<vecInertiaMultiplier x="1.000000" y="1.000000" z="1.000000" />
</Item>
</HandlingData>
</CHandlingDataMgr>
我想获得的输出是:
Car1, 140000.000000, 30.000000, 85.000000, "0.000000" "0.000000" "0.000000", etc
(所有值&没有脚本元素的名称)'
注意:上面的脚本在不同的汽车上出现多次,所有的值也不同。
我也希望我的朋友能够代替我的车。如果使用相同的结构,在同一目录内链接到我的一个元文件。
在我的程序的后续版本中,我希望在listBox中列出这些汽车及其所有找到的数据。我没有在网上找到任何关于在线单词/数字抓取的东西,我相信是因为搜索的具体程度。提前感谢您提供的任何帮助:-)
您需要做的是将文件解析或加载到支持查询所需内容的合适对象中。System.Xml.Linq.XDocument
就是这样一个例子。
这里有一些代码让你开始:
// xml is your Xml file as a string
var doc = XDocument.Parse(xml);
// You could also load it from a file if you wanted
// var doc = XDocument.Load(fileLocation);
// You can now query the XDocument with Linq
// E.g. using fluent syntax
var items = doc.Descendants("HandlingData").Elements("Item");
// Or use the query expression syntax
var query = from i in items
select new {
HandlingName = (string)i.Element("handlingName"),
Mass = (decimal?)i.Element("fMass").Attribute("value")
};
Console.WriteLine("{0} - {1}", query.First().HandlingName, query.First().Mass);
// Prints: Car1 - 140000.000000
看看MSDN文档,有无数关于XDocument
的问题。
祝你好运