正在将具有多个值的XML属性加载到不同的表单元格中



假设我有一个XML文件,如下所示:

<holidays>
    <holiday1 val="New Years, 01/01, First half"/>
    <holiday2 val="Chirstmas, 12/25, Second half"/>
    <holiday3 val="Valentines Day, 02/14, First half"/>
<holidays>

我有一个表,其中有以下标题,我需要将XML文件中的数据加载到:

Holiday Name        First Half  Second Half

(我意识到表格标题并不是真正的代码,但我用代码块格式化了它,这样更容易阅读)

因此,基本上,我希望发生的是,如果元素具有属性"First half"(年份btw),那么在holiday name下加载holiday名称,在First half下加载date。如果元素具有属性"secondhalf",则仍然在假日名称下加载假日名称,但在后半部分下加载日期。它最终应该是这样的:

Holiday Name        First Half  Second Half
New Years           01/01
Chirstmas                       12/25
Valentines Day      02/14

我考虑使用Xpath首先检查上半部分或下半部分,然后使用该信息选择正确的单元格来加载数据。然而,我最大的问题是,我不知道如何只选择日期,或者只选择节日名称。

一些背景信息:
-xml文件的格式不能更改,它是这样给我的,除非绝对不可能实现我想要做的事情,否则格式不能更改
-我正在使用tinyxml作为我的解析器
-我在C做这个++
-我知道如何将元素的值加载到表的单元格中,所以我对这个有一些背景知识

提前感谢。如果需要进一步的信息来帮助你理解我的问题,请留下评论。

您将不得不咬紧牙关手动解析属性字符串。你必须手动搜索"上半场"或"下半场",看看它是否存在,如果存在,就根据它做点什么。您必须将属性中的3个逗号分隔值中的每一个分隔开,然后使用它们。

对于这种简单的情况,我建议使用某种形式的正则表达式解析。或者甚至std::string::find也可以工作;这取决于你的需求。

相关内容

  • 没有找到相关文章

最新更新