【问题标题】:what is better .txt or .xml [closed].txt 或 .xml 哪个更好 [关闭]
【发布时间】:2013-08-14 23:59:45
【问题描述】:

我有一个问题,从 txt 文件中逐个字符地读取并进行更改是否更好。或者最好将txt文件转换为xml,然后在文件中进行更改? 我有txt文件:

 Record: 1
 {
      choice = mobileToMobile:{
      subscriberServicesIndicator = 09,
      callIdentificationNumber = 70 CD BE,
      recordSequenceNumber = 40 63 0F,
      typeOfCallingSubscriber = 01,
      callingPartyNumber = 41 27 27 19 66 91, -> needs to be changed to 41 72 72 91 66 19
      calledPartyNumber = 31 27 37 72 73 10,  -> needs to be changed to 31 72 73 27 37 10
      disconnectingParty = callingPartyRelease,
      dateForStartofCharging = 14 0C 01 1F,  -> change from hexadecimal to decimal number
      timeForStartofCharging = 0A 35 00,     -> ...
      timeForStopofCharging = 0A 38 1D,      ->
      chargeableDuration = 00 03 1E,
      interruptionTime = 00 00 00,
      timeFromRegisterSeizureToStartOfCharging = 00 00 07,
      calledSubscriberInitialServingCellID = 02 06 33,
      originForCharging = 00,
      }
  }
Record: 2
{
...... so on
}

【问题讨论】:

  • XML 很少能解决任何问题,除了“我如何获取需要 XML 的东西的信息?”因为它增加了复杂性而没有提供太多的灵活性。 awk 或 Perl 可以快速解决您显示的问题。

标签: xml file converter txt2tags


【解决方案1】:

.txt 文件和 .xml 文件实际上是相同的。文件扩展名只是说明文件中的内容。我建议使用 .xml,所以如果有人找到该文件,他们就会知道里面有什么。

【讨论】:

    【解决方案2】:

    如果您逐个字符地做自己的事情,您可能会发现您的代码没有优化,并且会疯狂地吃资源。所以在这方面,我会说远离,除非你真的知道你在做什么。

    使用 XML,您可以使用大量工具(例如 XPath)来查询和更新值。这些工具可能会经过高度优化,因此您可以使用它而无需担心资源以获得最佳性能,

    只是一个旁注。您提供的文本看起来很像 JSON,这可能是第三种选择。

    【讨论】:

    • 所以使用xml更好。谢谢。我尝试逐个字符地使用读取字符,从文件中读取、进行更改和回写需要很长时间。 xml呢,是不是更快?
    • XML 不会是最快的选择。最快的方法是将数据加载到您在内存中创建的自定义对象中,以便您可以在那里操作它。然后,您可以通过将其序列化并将其写入磁盘来将其保存回磁盘。在这种情况下,什么会使 XML 更快而不是从文件中读取,逐个字符只是因为您有更好的工具可供使用,这些工​​具将由构建它们的开发人员进行优化,以提供最佳性能。另外,不要从磁盘读取文件的内容。而是先将其加载到内存中,然后执行您需要的操作
    • 另外,如果你有 XML 格式的记录,你可以使用 XPath 或 Linq to XML 之类的东西来读取数据——设置起来非常简单快捷。查看这些链接 w3schools.com/xquerymsdn.microsoft.com/en-us/library/bb397981(v=vs.90).aspx(Linq to XML,也称为 XQuery)以及 w3schools.com/xpath/xpath_nodes.asp
    • “最快的方法是将数据加载到您在内存中创建的自定义对象中,以便您可以在那里对其进行操作..”您是什么意思?我应该创建对象并从 xml 文件中复制所有数据,进行一些更改,然后保存回 xml 文件?
    • 您必须创建一个自定义对象/类,其中包含您希望从 XML 填充的属性。我不确定你用什么语言做这个,但是例如。在 C# 中,您将使用 Serializable/DataContract 属性装饰自定义对象,然后将 xml 反序列化到对象中。这是一个很好的example。填充对象后,您可以随心所欲地使用它,然后将其序列化回 XML。
    【解决方案3】:

    我会在一个 XML 文件中这样做只是为了便于阅读,但它是完全相同的。 另外,在我看来,使用 XML 阅读工具更容易,但也许只有我一个人。

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 2021-06-09
      • 2011-03-19
      • 2011-01-05
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多