问题标签 [root-node]

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 投票
4 回答
26405 浏览

php - PHP5:在 DOMDocument 中查找根节点

我有一个 PHP5 DOMDocument,我尝试找到根节点(不是根元素)。

例子:

我想获得“测试”的 DOMNode,以便我可以调用 - 例如 - hasChildNodes。我可以得到“documentElement”,但那是一个 DOMElement。也许我可以从那里去?

谁能填补空白?我好像瞎了

(显然,我想调用的不仅是 hasChildNodes - 所以不,寻找另一种方法来确定文档是否包含内容并没有帮助。这只是我的简单示例。我最后需要一个 DOMNode。)

0 投票
2 回答
16351 浏览

wpf - 绑定到 ObservableCollection 的 WPF TreeView 不更新根节点

抱歉 - 我的问题几乎与这个相同,但由于它没有得到可行的答案,我希望其他人有一些新的想法。

我有一个绑定到单一类型层次结构的 WPF TreeView:

Entity 类实现了 INotifyPropertyChanged,但为了清楚起见,我省略了这段代码。

TreeView 绑定到 ObservableCollection<Entity> 并且每个 Entity 实例通过其 Children 属性公开一组包含的 Entity 实例:

最初,TreeView 按预期绑定并正确显示多级层次结构。此外,当以编程方式修改某个 Children 集合的成员资格时,更改会正确反映在 TreeView 中。

但是,对根成员级别 ObservableCollection<Entity> 的成员资格的更改不会反映在 TreeView 中。

任何建议,将不胜感激。

谢谢,蒂姆

0 投票
2 回答
2405 浏览

python - wxPython TreeCtrl 不显示根但仍显示箭头

我正在使用 wxPython 制作一个 python 树可视化器。它会像这样使用:

它工作得很好,但它显示了一个值为“Tree”的根。我这样做是为了它会创建多个根,但后来得知我不允许这样做。我恢复到原始代码,但使用将其从 this: 更改self.tree = wx.TreeCtrl(self)为 this: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT)。它有效,但它没有显示侧面的小箭头,所以你不会知道哪些节点有孩子。有没有办法隐藏根节点但保留箭头。注意:我在使用 Python 2.5 版和 wxPython 2.8.4.0 版的 Mac 上。

0 投票
4 回答
5100 浏览

xslt - XPath/XQuery:选择一个根节点,其属性没有子节点

我有一个xml:

我只想选择一个没有子节点的具有属性的根节点:

XPath 有可能做到这一点吗?

0 投票
1 回答
1482 浏览

wcf - 如何更改根节点 wcf 请求\响应

我正在调用一个 Java Web 服务,我试图使用网关和消息检查器从 WPF 客户端调用它。我面临的问题是——Java webservice 需要请求 xml 的根节点作为元素,但是我的 WCF 请求(当我在 MessageInspector-beforeSendRequest 中检查它时)包含操作合同名称作为根节点。

有什么方法可以从请求中删除开始和结束操作名称节点并直接发送以节点开头的请求。

当我得到服务的响应时,同样的问题存在

我刚加入这个社区。我确实尝试搜索它。但不知何故,我没有任何指示。

0 投票
1 回答
432 浏览

sharepoint-2010 - 如何在 SiteMapProvider 之外访问(PortalSiteMapNode)RootNode?

我认为对于经验丰富的共享点开发人员来说是一个非常简单的问题。

在 PortalSiteMapProvider 中,我可以通过以下方式访问 RootNode:

我的问题是,我如何从其他地方访问此节点,而不参考提供者?有没有类似的东西

非常感谢你!

0 投票
5 回答
3627 浏览

c# - 一棵树是否应该只有一个根节点

我想显示一个树结构。我真的需要给用户/树一个预定义的硬编码根节点,比如“RootUnit”,他可以在其中添加他的孩子或后代吗?

在添加节点时这是否有意义或只会造成麻烦?

0 投票
0 回答
361 浏览

c# - 用户界面中层次结构/树视图的根节点设计

我想在树视图控件的用户界面中显示分层数据。

问题是用户是否可以自由定义其第一个根节点本身。

我不在乎一棵树是否有一个根节点是一棵树。

我只是考虑用户在 UI 中是否有预定义的根节点的优势。

您是否看到可用性方面的任何劣势或用户可能会受到限制

某些具有预定义根节点的可能性?

在我看来,根节点有这个缺点:

  • 它只是一个愚蠢的占位符,只是在那里,所以孩子们在那里......
  • 它通常不能被删除,因此我必须做额外的检查......
  • 我必须为根节点考虑一个有创意的名称

不需要:

完全没问题应该是:

0 投票
3 回答
21003 浏览

c# - C# Xml序列化、集合和根元素

我的应用程序序列化流中的对象。这是我需要的示例:

在这种情况下,对象是“链接”对象的集合。

------------第一版

起初我使用DataContractSerializer,但是您不能将成员序列化为属性(source

这是对象:

这是结果:

------------ 第二版

好的,不是我想要的安静,所以我尝试了经典的XmlSerializer,但是......哦不,如果根元素是集合,你不能指定根元素的名称和集合元素的名称......

这是代码:

这是结果:

------------ 第三版

使用XmlSerializer + 根元素:

及其结果:

很好,但我不想要那个根节点!我希望我的集合成为根节点。

以下是禁忌:

  • 序列化代码是通用的,它适用于任何可序列化的东西
  • 逆运算(反序列化)也必须起作用
  • 我不想正则表达式结果(我直接在输出流中序列化)

我现在有什么解决方案:

  1. 编写我自己的 XmlSerializer
  2. 当 XmlSerializer 与集合一起使用时,它会欺骗 XmlSerializer(我尝试过,让它找到一个 XmlRootElement 并将其 plurialize 以生成它自己的 XmlRootAttribute,但是在反序列化时会导致问题 + 项目名称仍然保留类名称)

任何想法 ?

在那个问题上真正困扰我的是,我想要的似乎真的非常非常简单......

0 投票
1 回答
197 浏览

xml - 在使用派生元素替换时保留单个根节点定义

在 XSD 模式中,您不能将元素声明为文档的唯一有效根节点。
这是一个 PITA,但我知道。

多年来,我只会做链接答案中建议的事情——只定义<simpleType>s 和<complexType>s,唯一<element>在全局级别定义的是我想要的根节点。

但是,我目前正在对我的 XSD/XSLT 代码库进行很好的重构。我想做的一件事是将某个元素限制为仅从所需类型派生的元素,前提是这些派生可以具有不同的节点名称:

whereAChild是一个抽象基类型,其他类型将使用它派生substitutionGroup

这里的问题是这个substitutionGroup东西只适用于在全局级别声明的元素。所以现在我有一堆以前的 internal types 声明为 global level elements,虽然这完全限制了 s 的可能子节点parentType,但这也意味着如果任何现在全局子节点作为根元素提供,验证将成功,我不想要。

我考虑过的选项包括:

  • 放弃substitutionGroup继承,将所有可能的子项移动到单独的命名空间,然后使用<xsd:any namespace="that namespace" />. 感觉还可以,但我不喜欢额外的命名空间和定义更差的约束。
  • 忽略 XSD 级别的问题,检查使用 XSD 模板的代码中的根节点名称和命名空间。我不喜欢这里打破关注点分离,因为在我的设计中,XSD 文件是调用代码的黑盒,我宁愿不引入对节点 QName 的硬编码依赖。
  • 引入一个原则,根据该原则,总会有两个“主要”XSD 模式。一个将以通常的方式验证节点(我目前拥有的验证),另一个将仅包含最宽松形式的顶级节点的定义:

    然后当且仅当两个模式都验证时,我的文档才是正确的。
    我不喜欢这里的是我不确定这对最佳实践的违反程度。

  • 退出重构并保留我之前的内容(以及在我手动列出所有可能的子项之前<xs:choice>)。

我的问题是,有没有其他方法可以在不声明多个 global-level<element>的情况下使 any-derived-element 约束工作(以便 only-root-node 约束再次工作)?如果您认为我最好选择列出的选项之一,也请留下答案。