【问题标题】:Qt5.5 XML processing using QDomQt5.5 XML 处理使用 QDom
【发布时间】:2016-04-14 13:29:09
【问题描述】:

我正在使用 QDom 类来处理 XML 文件,我希望按照它们在 XML 文件中定义的顺序来处理属性,这很重要。但是,“QDomNamedNodeMap”中的属性顺序似乎不同。

有什么方法可以确保订单与 XML 文件中定义的一致?

【问题讨论】:

    标签: c++ qt5.5


    【解决方案1】:

    据我所知,您不能根据规范依赖 XML 中的属性顺序。这可能是您的图书馆以与文字顺序不同的顺序阅读它们的原因。即使您找到了一种方法,您也不应该相信它:如果其他人生成 XML 来提供您的程序会怎样?有关规格的更多信息,请参阅here。 也许设计上的改变可以帮助你:嵌套一些节点怎么样?嵌套节点的顺序是确定性的。

    【讨论】:

    • 我很快想到我必须编写自己的处理程序。
    • 我编写的 XML 允许属性使用对其他属性的宏引用,这说明了为什么顺序很重要,但是作者可以按照他们希望的任何方式编写 XML,只要一个引用另一个被实现的引用不在另一个之前。
    • @SPlatten 最好不要:如果其他人为您生成 xml,您也会遇到麻烦(他可以以不同的顺序生成属性)
    • 如果另一个人正在编写 XML,那么他们将根据我对应用程序处理它的规范这样做。
    • 我想要的是按照它们在文件中出现的顺序读取属性。
    【解决方案2】:

    我已经编写了自己的类来读取文件并处理节点和属性,根据我的要求,属性按照它们在文件中出现的顺序保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-05
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多