阅读脚本文件,特别是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中列出这些汽车及其所有找到的数据。我没有在网上找到任何关于在线单词/数字抓取的东西,我相信是因为搜索的具体程度。提前感谢您提供的任何帮助:-)

阅读脚本文件,特别是c#

您需要做的是将文件解析或加载到支持查询所需内容的合适对象中。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的问题。

祝你好运