- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 libxml2 来解析 HTML。我想删除某些格式标签,例如 <center>
,同时保留其内容(例如链接)。
这意味着我必须从我的 xmlNodeSet
中删除某些子节点,但保留该节点的子节点。
现在,我得到了这个代码:
xmlNodePtr parentNode = nodes->nodeTab[i];
if (parentNode != NULL) {
xmlNodePtr child = parentNode->children;
xmlNodePtr parentNextSibling = parentNode->next;
xmlNodePtr grandParent = NULL;
while (child) {
xmlUnlinkNode(child);
if (parentNextSibling != NULL) {
xmlAddPrevSibling(parentNextSibling, child);
}
else {
if (grandParent == NULL)
grandParent = parentNode->parent;
xmlAddChild(grandParent, child);
}
child = child->next;
}
xmlUnlinkNode(parentNode);
xmlFree(parentNode);
}
代码确实将子节点添加到文档中,但它也删除了我将其添加为同级节点的节点。我做错了什么?
最佳答案
在将 child->next 指针从树中删除之前,您并没有保存它。一旦取消链接节点,它就不再是树的一部分,因此 child->next 变为 NULL。然后,在将其重新插入树中(在parentNode->next之前)后,child->next指针现在指向之前的parentNode->next,因此下次循环时,您将删除parentNode->next。事情只能从那里开始走下坡路。 :-)
关于html - libxml2 - 删除子项,但不删除孙子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3593919/
我需要索引 3 个级别(或更多)的子级-父级。例如,级别可能是一位作者、一本书和那本书中的角色。 但是,当索引超过两层时,has_child 和 has_parent 查询和过滤器会出现问题。如果我有
我制作了一个简单的 react 任务列表,它允许我添加新任务。我现在希望能够删除任务,但无法了解如何将函数属性传递给子/孙组件。 我想通过 deleteTaskFromState函数属性一直到 成分。
我正在循环属于 frag 的 span 元素类(class)。我想检测当前所在的frag元素是否是属于frag的a span元素的最小儿子/孙子/孙子(从左到右)类并属于 cond类,并且在其文本中有
在处理命令行的 JavaFX 模型时,我遇到了以下问题: 如果我运行一个运行另一个进程的进程(例如批处理文件)(例如使用简单的 start notepad 打开记事本)我似乎无法正确确定批处理文件何时
我正在 linux (Ubuntu) 上做一个小项目,我需要一个人通过身份验证才能访问服务。我的想法是,此身份验证应与进程及其子进程一起存储,而不是与 linux 用户本身一起存储。 此身份验证应通过
假设我有一个像这样的模板模态 react 组件(经过简化以使我的问题更清晰): function Modal(props) { const hide=()=>{ documen
过去 2 小时在网上搜索这个。任何帮助是极大的赞赏。 场景是这样的,我们有一个Questionnaire,有Steps,每个step都有input sets,每个input set有questions
我正在尝试解析编码不当的 XML 并输出标签的节点名称和内容(仅当它存在时),并且仅当字符串名称=内容 > 30 天时。 到目前为止,我可以使用 ElementTree 搜索子元素,但我需要有关嵌套信
我正在进行一个小实验。我正在尝试使用 :focus 创建一个没有 javascript 的 onclick 菜单。我遇到的问题是孙子,单击它仍然会关闭父级。我尝试使用 ~ 选择器使其保持打开状态,但它
我有一个 3 个数据库设置,例如父->子->孙,到目前为止,我可以设法获取特定父级的子级,但无法深入到另一个级别。 class Parent : Object { @objc dynamic
ver data = [ {"id": 1,"parent": 0,"name": "Parent"}, {"id": 2,"parent": 1,"name": "Child"},
我是一名优秀的程序员,十分优秀!