找回密码
 立即注册
收起左侧

Dom操作XML文件

9
回复
8494
查看
[复制链接]
累计签到:410 天
连续签到:1 天
来源: 2013-8-11 16:06:45 显示全部楼层 |阅读模式
5Qter豆
按照yafei的教程里面的DOM方法对xml进行操作时候,我发现了一个问题
比如***.xml
<a>
    <b>
        <c1>0</c1>
        <c2></c2>
    </b>
</a>
按照yafei的DOM例子的第二个例子,
对xml的值进行修改
我发现
<c1>0</c1>可以修改
<c2></c2>插入值就不行,并且这项变成<a/>了


如果是<c2></c2>这种的怎么插入值进去啊???

最佳答案

查看完整内容

嗯。这样看行不行: 在更新的时候先判断节点内容是否为空,如果为空的话,就重新创建该节点,而不是简单的更改它的值。
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-11 16:06:46 显示全部楼层
a408815041 发表于 2013-8-14 17:30
yafei老师 没明白我的意思
先更新为空的,即 书名,作者 后面为空,在更新
更新完了 ,在更新为有值的就 ...

嗯。这样看行不行:

在更新的时候先判断节点内容是否为空,如果为空的话,就重新创建该节点,而不是简单的更改它的值。

点评

看样子 也只能这样子了。  详情 回复 发表于 2013-8-14 18:01
回复

使用道具 举报

累计签到:181 天
连续签到:1 天
2013-8-12 09:13:08 显示全部楼层
在这两个地方插值应该没有什么不同,你仔细查一下代码,是不是指针用的有什么问题。
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-12 11:49:09 显示全部楼层
嗯。再好好研究下解析方式吧,都可以实现的。应该是自己操作不对。

点评

程序应该没问题,可能是xml的这种格式是不是QT不兼容啊, 如果我把中间加个00 值就可以修改,去掉之后就是不行,很郁闷  详情 回复 发表于 2013-8-12 13:09
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-8-12 13:09:22 显示全部楼层
yafeilinux 发表于 2013-8-12 11:49
嗯。再好好研究下解析方式吧,都可以实现的。应该是自己操作不对。

程序应该没问题,可能是xml的这种格式是不是QT不兼容啊,
如果我把<c2></c2>中间加个0<c2>0</c2> 值就可以修改,去掉之后就是不行,很郁闷
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-13 10:59:54 显示全部楼层
http://www.qter.org/forum.php?mod=viewthread&tid=189

这个例子运行的效果就可以更改类似于<c2> </c2>这里的值的,

你可以参考里面的代码试试,应该没有问题的啊。

点评

试了 那个例子,不行 我的执行顺序: 查找1之后,书名、作者里面都是空,直接点击更新,然后点击显示全部,可以看见已经空了 然后在执行 把 书名 作者 里面都填写值,更新显示更新成功后,点击显示全部,发现,还是  详情 回复 发表于 2013-8-14 13:11
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-8-14 13:11:02 显示全部楼层
yafeilinux 发表于 2013-8-13 10:59
http://www.qter.org/forum.php?mod=viewthread&tid=189

这个例子运行的效果就可以更改类似于 这里的值的 ...

试了 那个例子,不行
我的执行顺序:
查找1之后,书名、作者里面都是空,直接点击更新,然后点击显示全部,可以看见已经空了
然后在执行
把 书名 作者 里面都填写值,更新显示更新成功后,点击显示全部,发现,还是为空,修改不起

yafei老师在帮忙看看怎么回事
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-14 17:23:51 显示全部楼层
a408815041 发表于 2013-8-14 13:11
试了 那个例子,不行
我的执行顺序:
查找1之后,书名、作者里面都是空,直接点击更新,然后点击显示全部 ...

这个测试过没有问题的啊。你在程序里面添加些调试信息,看看是哪步出问题了。也可以看下xml文件是否生成了,里面的内容是否正确。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

yafei老师 没明白我的意思 先更新为空的,即 书名,作者 后面为空,在更新 更新完了 ,在更新为有值的就不行  详情 回复 发表于 2013-8-14 17:30
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-8-14 17:30:10 显示全部楼层
yafeilinux 发表于 2013-8-14 17:23
这个测试过没有问题的啊。你在程序里面添加些调试信息,看看是哪步出问题了。也可以看下xml文件是否生成 ...

yafei老师 没明白我的意思
先更新为空的,即 书名,作者 后面为空,在更新
更新完了 ,在更新为有值的就不行
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-8-14 18:01:38 显示全部楼层
yafeilinux 发表于 2013-8-14 17:44
嗯。这样看行不行:

在更新的时候先判断节点内容是否为空,如果为空的话,就重新创建该节点,而不是简单 ...

看样子 也只能这样子了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了