问题标签 [subtree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1692 浏览

java - Java XPath API - 获取表示子树的字符串

我的问题与 xpath 语法无关,它与围绕 xpath 的 java API 有关。考虑以下 xml:

通过使用以下代码,我可以使用 xpath 轻松获取元数据字段:

我正在努力解决如何获取以标签开头的表示 xml子树的字符串。<some>换句话说,我写什么代码来得到一个字符串,当打印出来时,会打印出以下内容?xpath 查询将是“/wrapper/data/some”,但我不知道如何适当地利用 xpath api。

0 投票
0 回答
34 浏览

git - Git子树拆分抓取额外的文件夹

使用 git subtree split 我得到了奇怪的结果 - 我有以下设置:

我正在尝试拆分数据库/. 我使用了命令:

创建一个数据库分支。我在数据库分支中得到的是:

有谁知道我为什么在这里得到 WEB-INF ?如果我在拆分之前从 Project/ 中删除 WEB-INF 但不提交,它就不会出现。所以我有一个解决方法。但我就是不明白,想知道为什么 Git 的行为不如预期。

仅供参考,我尝试使用与目录不同的分支名称,遇到了同样的问题。

谢谢你。

0 投票
1 回答
3264 浏览

wordpress - 推送到 git 存储库子文件夹上的远程源?

我有一个 git 存储库,它使用 Vagrant 为 WordPress 项目构建虚拟服务器(仅限本地开发)。文件夹结构大致如下(出于问题的目的)。

现在所有这些文件都在我的存储库的根目录中,我希望它们留在那里,所以如果我需要向 Vagrant 添加任何更新,它们将被添加到存储库中。现在我的主机允许我通过直接使用 git 推送更新来部署到我的登台和生产服务器。但是这些文件存储在 /wordpress/ 中,其服务器上的来源是根。理想情况下,我只想从 /wordpress/ 文件夹推送到远程源的根目录。

我想将 /wordpress/ 文件夹移动到项目的根目录,但是所有 Vagrant 文件都将被推送到生产服务器(除非有办法添加特定于远程来源的 .gitignore)。

我确信有几种方法可以做到这一点,我还查看了 git subtrees,但对于这个特定问题,它看起来有点矫枉过正。如果有人可以提出最佳解决方案,将不胜感激。

0 投票
1 回答
666 浏览

java - 在图中的多个节点下方添加子树

我正在使用Java JUNG 2.0.1版本。我了解 JUNG API 的基础知识。

我有一棵根顶点为 1 的树 [参见输入图]。基本上,我想删除一条边(从:1 到:3),即具有根为顶点 3 的子树,并将其分别添加到顶点 2 和顶点 5 下方[参见输出图]。

我使用了 TreeUtils.java 的 getSubTree() 和 addSubTree()。但是,它给出了堆栈跟踪错误:java.lang.IllegalArgumentException: Tree must not already contain child abc at edu.uci.ics.jung.graph.DelegateTree.addChild(DelegateTree.java:182) at edu.uci.ics。 jung.graph.DelegateTree.addEdge(DelegateTree.java:102) 在 edu.uci.ics.jung.graph.util.TreeUtils.addFromSubTree(TreeUtils.java:139) 在 edu.uci.ics.jung.graph.util。 TreeUtils.addSubTree(TreeUtils.java:100)

输入图:

输出图:

0 投票
1 回答
247 浏览

java - 等价子树

我有两棵树。树节点定义为

对于叶子,子集是空的。

我想知道是否有一些现有的有效工作完成了如何识别两个给定树的等效子树。等效定义为:

谢谢。如果有一些Java库解决这个问题会更好。


输入应该是两个树根,而输出是等效子树的根节点。树的高度为 100~ 并且它有超过 500 个节点。


我现在所做的是为类 Node.js 添加了一个新字段。

map 的 key 是 Node id 而 value 是这个 nodeid 的这个节点可以到达的 ref 集。初始化 Node 时启动的 Cache。

在 isEquivalent 比较阶段,检查两个根的 ref 集之间是否存在重叠。如果没有,则返回 false。

我认为这可以帮助减少比较空间的数量。

0 投票
2 回答
2059 浏览

c++ - 如何从 Boost.PropertyTree 复制子树

我有一些boost::property_tree::ptree。我需要删除具有特定标签名称的一些元素的树。例如,源ptree的 xml 如下:

我想得到ptree如下的xml:

如何编写函数,生成ptree带有移除<to_remove>节点的新函数?

0 投票
1 回答
2210 浏览

c# - 使用 XmlReader 读取嵌套子树

我在将 XML 解析到数据库时遇到了问题。我的 XML 结构如下所示:

两者都有很多艺术家标签。在艺术家中有很多标签。

我现在在做什么:

//在这里我想做 SQL 查询,它将添加许多图像和 ID 附加到每个图像。

那个id不好用。它跳过了 50% 的 ID,或者根本没有变化。但我可以在那里看到所有可能的图像。所以我认为我从节点到节点存在问题。有任何想法吗?

0 投票
2 回答
90 浏览

git - 在自己的项目中移动库开发

目前,我正在开发一个嵌入式项目。目前,我只有一个本地 git 存储库,因为我是唯一的开发人员。但是,我正在考虑使其成为开源并将其移至 github(如果达到一定程度的功能 :-))。所以,我想了很多关于制定一个好的项目结构,以便其他开发人员可以加入。

好吧,目前,该项目是一个非常简单的设置。

我有一个文件夹结构,如:

你看,只是一堆嵌套的文件夹, .git 文件夹位于项目的根目录中。

对于该项目,我需要开发一个库,我们称之为 someLib(上面“图片”中的 someLib 文件夹目前为空,因为我还没有开始使用该库)。

这个库可能会变得非常大。而且,更重要的是,它不包含与此特定项目相关的任何功能。我,或者甚至其他人,也可能在另一个项目中使用它。

所以,我认为让 lib 成为自己的项目是个好主意。然后,我可能会使用 git submodule 或 subtree 将库“链接”到我的项目中。

现在有什么问题?

好吧,当我将 lib 移动到它自己的项目中时,我将拥有其他文件。在主项目中开发 lib 很容易,但在它自己的项目中,我需要额外的测试代码、makefile、“main.c”和(因为它是嵌入式的)硬件驱动程序。没有这些额外的东西,我无法运行/测试 lib。

这看起来像:

如您所见,我不想在我的主项目中使用所有这些东西。

那么,当使用子模块或子树方法时,有没有办法将这些东西排除在主项目之外?

或者,更重要的是,你将如何解决这个问题?

我怀疑我是第一个面临这个问题的人。有什么好的提示吗?

0 投票
1 回答
365 浏览

git - 如何 git subtree 远程的子目录?

有一个包含多个子目录(lib/Android 和 lib/iOS)的远程存储库。我可以只在 lib/Android 中创建子树吗?

0 投票
2 回答
1704 浏览

windows - 尝试 git subtree split 时断言失败错误

我有一个在本地克隆的私人 GitHub 存储库(我不能在这里分享)。我想将此存储库中的子文件夹拆分为新的子树存储库。我正在按照这些说明使用 Git 子树进行存储库分离(在Splitting code into its own repository下)。

我的具体命令是:

但是它失败了,正好有 24 个“断言失败”错误消息,如下所示:

如果我尝试任何其他子文件夹,则会发生完全相同的情况。我不知道这里可能出了什么问题...帮助!

我的 repo 有 2 个遥控器:origin 和一个用于我添加到 repo 中的现有子树的遥控器。