问题标签 [xattribute]

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 回答
479 浏览

linq-to-xml - 控制 XElement 属性命名空间名称

我正在构建一个导出引擎,它将获取我们公司的数据并根据我们数据库中提供的模式将其导出为 XML。当元素的值为 null 时,我需要实现的导出之一必须将xsi:nil="true"属性添加到元素中。

我遍历导出列表中的每个项目,生成它的内部 XElement 对象(基于我们的规则),并将 .ToString() 表示形式保存到数据库中。生成所有内部片段后,它们会从数据库中提取,解析回 XElement 对象,然后添加到外部 xml 根。(将其全部保存在数据库中允许暂停导出、服务器重启后恢复导出等)

我已经在外部根中指定了 xsi 命名空间,但是在添加(解析的)内部 XElement 时这不起作用。

这是我的代码当前如何工作的表示:

我得到以下结果

我无法弄清楚如何让它不使用扩展名称(在本页底部:http: //msdn.microsoft.com/en-us/library/system.xml.linq.xnamespace.aspx

如果我能够删除将其保存到中间数据库的“.ToString()”步骤,我就不会有这个问题,因为添加所有 XElement 项可以正确地解析命名空间。

所以我的问题是:有没有办法控制解析告诉它不使用扩展名称 p1 而是使用外部 XElement 的命名空间? 或者 是否有一些东西可以查看扩展名称并看到它与根相同并因此删除它?

0 投票
0 回答
259 浏览

c# - 使用 XAttribute 添加属性

我有一个像这样的根 XML:

我需要在数据元素节点下添加一些与客户相关的信息,例如(姓名、年龄等)。所以,我期望的结果如下:

我怎样才能做到这一点?我正在使用 C#、.net 4.0。

我正在尝试下面的代码,但没有得到我期望的结果:

当我执行代码时,我得到以下信息:

任何帮助表示赞赏!

谢谢,米

0 投票
1 回答
89 浏览

xml - XML 连接字符串以设置为 XAttribute

我正在读取 CSV 文件以转换为 XML 格式。如何在其中一个字段之前连接固定字符串。

在此示例中,我需要将“域\”附加到用户名

如何将 DOMAIN_USER XAttribute 设置为串联的“DOMAIN\”和字段 [2]?

0 投票
1 回答
4673 浏览

c# - 使用 XDocument 在 C# 中将元素添加到 xml 文件

这是我当前的 XML 结构

我使用以下 C# 但尝试执行时出错

我在哪里弄错了?

错误是

0 投票
1 回答
342 浏览

c# - LINQ to XML:如果值为 DBNull.Value,则不要创建 XAttribute

我正在使用 C# 查询数据库并创建一个DataTable. 从这里DataTable我使用 LINQ to XML 创建一个 XML 文件。

我的问题是,对于数据表中的空列,当我在元素上调用 SetAttributeValue 时,它​​会创建一个空白属性。SetAttributeValue(name, value)如果值为 . 则根本不添加属性null。有没有办法模仿这种行为DBNull.Value?我不想检查每一行和每一列以查看值是否等于DBNull.Value.

预期的:

实际的:

Element1 的代码:

0 投票
2 回答
860 浏览

vb.net - XElement 自动具有 xmlns 属性

下面给出了这个输出:

问题是为什么<Open>XElement 会自动获得一个xmlns="" 属性?

我想要相同的输出,但没有 XElement 的任何属性<Open>

任何帮助,将不胜感激。

0 投票
1 回答
1494 浏览

c# - XML Elements Attribute 值是否总是字符串的数据类型?

当我使用 LINQ 创建 XML 文档时,当我将一些 XElement 添加到具有一些属性的根元素时,当我使用 LINQ 读取该文档的 XElement 时,默认情况下 XAttributes.Value 的返回值是字符串!
为了将此值分配给布尔类型的变量,需要调用函数“Convert.ToBoolean()”

如您所见:
名为“Name”的XAttribute 的值必须为long 类型!
名为“IsEvenNumber”的 XAttribute 的值必须是 bool 类型!

我需要知道:是否可以使用一些 XAttributes 创建一个 XElement,保存它,再次读取它并将其 XAttributes.Value 分配给某个 bool 类型变量而不调用“Convert.ToBoolean()”函数?!

0 投票
1 回答
53 浏览

c# - 通过搜索另一个属性获取同一元素的另一个属性

这可能是我道歉的最简单的问题。这是我的 xml 的一部分。我想要得到的是基于另一个属性“ItemOID”的属性“Value”。IE 当 ItemOID="I_MEDIC_HISTORY_INDICATION" 的值是什么。

这是我的代码。如您所知,我有点卡住了。

如您所知,它将一直迭代所有属性值。但是我需要 var I_NEURO_NEURO_NORMAL = neuroExamElement.Attribute("Value").Value; 行有条件 ItemOID="I_NEURO_NEURO_NORMAL" 等等。所以我可以一次将一个属性放入数据表中。请帮忙。谢谢你。

0 投票
1 回答
76 浏览

linq-to-xml - xmlns="something" - 必须在父节点中

我有个问题。不能像这样命名 XAttribute:XAttribute("xmlns", nss.NamespaceName)

XNamespace ns = "urn:hl7-org:v3"; XNamespace nsVoc = "urn:hl7-org:v3/voc";

. . .

我没有在这里关闭这个父节点。我在结束节点之间有 2000 行

消息是:前缀 '' 不能在同一起始元素标记内从 '' 重新定义为 'urn:hl7-org:v3'。

0 投票
1 回答
967 浏览

c# - 无法将 XAttribute 添加到 XElement

我想在元素中添加一个属性。我希望新添加的属性是元素中的第一个属性。我用了AddFirst(),我得到一个错误:"An attribute cannot be added to content."我不知道为什么?

以下是我的代码。

任何其他方式允许我添加一个属性作为元素中的第一个属性?