问题标签 [xmlinclude]

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 投票
2 回答
7540 浏览

c# - System.InvalidOperationException:在此上下文中不能使用类型 [XYZ]。BUG确认

我在这件事上束手无策。我偶尔会从我的 .Net 2.0 asmx Web 服务中收到上述错误。我已经安装了正确的 XmlInclude(),它只是有时出现——当我重建和更新站点时,它可能会出现,也可能不会出现,没有押韵或原因。如果我移动一些 XmlIncludes()、重建并向上推送更改,错误通常会消失。

在将所有内容转换为 DLL 的构建过程到位之前,我使用的是良好的 ol xcopy 部署方法。然后错误也发生了,但我所要做的就是在定义所有 XmlInclude() 调用的文件中添加一个空格,然后 IIS 将重新编译,错误就会消失。

对于它的价值,定义了很多 XmlIncludes,大约 100 个左右。

有任何想法吗?

这是一个片段:

编辑:似乎重新排列 XmlIncludes 会使错误消失,但它可能会或可能不会在我下次重新编译和重新部署时再次出现。

编辑#2:好的,更多细节。通过更改 web.config 强制回收不能解决问题,也不能完全重新启动 IIS。由于某种原因,我的日志没有正确写出,所以我还没有堆栈跟踪。

这一次,错误发生在 2 个特定方法上。我对 global.asax 进行了更改(以尝试修复我的堆栈跟踪日志记录),重新构建和更新,两种方法之一开始工作。然后,我将带有 XmlIncludes 的类拆分为 2 个部分类,重新构建、更新,这两种方法都重新开始工作。我现在不确定这是否是永久修复,因为它是如此随机;我将再次更新下一个构建周期。

编辑#3:绝对不是永久修复,我仍然没有找到正确的位置来捕获完整的堆栈跟踪(尽管我的其他日志都工作正常)。啊。下一轮我会再更新。

编辑#4:最后有一个堆栈跟踪。它不会在 Visual Studio 中捕获,也不会在我的 global.asax 中的全局异常处理程序中捕获。以下是直接从 Web 浏览器调用该方法时显示的结果:

编辑#5:

这可能是上述错误的症状,所以我不相信它是相关的,但我还是会发布它。如果我附加到托管调试助手并刷新一堆,我最终会得到:

我不确定它是否相关......可能只是错误流。

编辑#6:

好的,更多信息。我在这里使用了 Scott Hanselman 的博客文章进入生成的程序集。事实证明,尽管有 XmlInclude,但生成的程序集没有对其中类型的引用,所以这绝对是 .NET 中的一个错误。我试图追查是什么触发了它,但是任何生成输出程序集(sgen?)的东西都失败了。

编辑#7:

仅供参考,我已向 MS 提交了错误报告:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=523253

0 投票
4 回答
25152 浏览

c# - 如何动态添加 XmlInclude 属性

我有以下课程

现在,当我尝试运行代码时,我在最后一行得到了 InvalidOperationException

类型 XmlTest.C 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。

我知道用 [XmlRoot] 添加一个 [XmlInclude(typeof(C))] 属性可以解决问题。但我想动态地实现它。因为在我的项目中,C 类在加载之前是未知的。C 类正在作为插件加载,因此我无法在其中添加 XmlInclude 属性。

我也试过

但没有用。它仍然给出同样的例外。

有谁知道如何实现它?

0 投票
1 回答
1620 浏览

c# - C# XmlSerializer 在 Java 中的 XmlInclude 等效项

我正在寻找与 C# 中的 XmlInclude 相同的 Java 注释。

我通过套接字获得了 XML 结构。结构如下所示:

对应的Java Class定义如下:

在 C# 中,该类看起来像这样:

<<< 在我看来,这似乎是公共课的魔力答案:ICloneable

问题是,“AnswerObject”可以是任何类型的对象。在我的示例中,“AnswerObject”是“Status”类型的对象,但它也可以是字符串或其他任何类型的对象。

在 C# 中,我可以使用 XmlSerializer 反序列化 XML 结构。在 Java 中,我使用以下内容:

C# 和 Java(以及)自动处理字符串。但是在有另一个对象的情况下,我可以用 XmlInclude 其他已知类来宣布 C#。Java中有类似的东西吗?

0 投票
1 回答
644 浏览

.net - 为所有派生类自动包含 XmlInclude 的方法?

如果实例不是派生的,显然 XmlSerializer 对对象工作顺利,否则我必须显式应用属性以将特定派生类包含到基类中。我有大约 50 多个派生类,将来可能还会更多,有没有办法告诉 XmlSerializer 自动序列化对象的派生部分,而不用麻烦我更明确地表达我想要的东西?我只想少打字。

0 投票
2 回答
2289 浏览

c# - Any way to specify the XML string used in xsi:type=""?

I have a hierarchy of classes that are serialised to XML using XMLSerialiser. To do this I am declaring all the concrete types with [XmlInclude]. eg.

An instance of Derived gets serialised as:

Is there any way change the type text to something other than the class name? eg:

0 投票
2 回答
2428 浏览

c# - xml 序列化和继承类型

我收到错误“{”类型 Device1 不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。"}"

目前我有:

我正在做:

序列化程序会:

我在序列化程序方法(xs.Serialize)的最后一行出现错误:“{”类型Device1不是预期的。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。"}"

我试图在 Device 类上编写 XmlInclude。没有帮助。如果我换行

成为

然后它可以工作,但我想编写多种设备类型的数组。

0 投票
2 回答
315 浏览

android - 无法访问包含布局内的视图

我正在使用作为片段一部分的“包含”布局。这是我膨胀包含“包含”的布局的地方(下面是布局本身):

hourly_fragment.xml

我可以访问其他 2 个包含的布局中的项目,但不能从“amazon_details”布局中访问……有什么想法吗?

0 投票
1 回答
2234 浏览

xml - 找不到 xml 片段

我正在尝试在 xml 文件中包含 xml 片段文件并从 java 代码访问 parent.xml。

Java 代码如下所示:

parent.xml 文件如下所示:

parent.xml和child.fragment在同一个位置C:/Users/admin/Desktop/ 但是java代码找不到child.fragment..

我收到以下错误:

0 投票
1 回答
3557 浏览

c# - 如何使用 XmlInclude 动态指定类型?

我有我使用的这些类:

我有一个方法可以创建下面的 XML。

我有两个具有 Report01 和 Report02 对象的列表。

当我尝试像这样创建 XML 时:

我看到了这个例外:

不需要类型“Report01(或 Report02)”。使用 XmlInclude 或 SoapInclude 属性指定静态未知的类型。

我怎么解决这个问题?

0 投票
0 回答
139 浏览

php - PHP 忽略

我有 XML 文件<xi:include,加载为:

当我运行脚本时,只有那些<xi:include没有错误的才会被加载/解析。

在另一台机器上,解析器能够处理主要的 XML 和所有包含的内容。如果出现错误,<xi:include它会将它们连同它们的位置一起吐出。这有助于调试。

这看起来像配置问题,但无法在 php.ini 中找到何时更正它。

任何想法?

谢谢。


您可以尝试将该triggerSave()函数添加到 TinyMCE 初始化中,以便在编辑器的更改事件中自动更新基础字段...

当您尝试通过 AJAX 发布表单时,这将消除执行此操作的需要。

更新:您的选择器是字符串还是 DOM 元素?根据我在您的代码中看到的

看起来您正在尝试提供一个 DOM 元素(或 jQuery 包装的 DOM 元素)。选择器参数需要一个字符串,如此处所述:

https://www.tinymce.com/docs/configure/integration-and-setup/#selector

如果你硬编码(作为测试)一个字符串,那行得通吗?