首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在c#代码文件中内联原始XML

在c#代码文件中内联原始XML
EN

Stack Overflow用户
提问于 2014-03-04 00:09:43
回答 3查看 734关注 0票数 1

我正在创建一个对象序列化单元测试,并希望在c#代码单元测试文件中内联该对象的XML。我知道最简单的内联方式是使用@前缀作为字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var xml = @"<Something> 
                 <AnotherSomething/>
                 <AnotherSomething/>
            </Something>";

我的问题是,我的XML包含属性,而且它非常大,为了内联它,我需要遍历所有的XML,并在XML中对每个“”进行转义,这样做对于一个非常大的XML节点是很难的,并且维护它会很困难-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var xml = @"<Something Att=""s"" Att2=""gg""> 
                     <AnotherSomething/>
                     <AnotherSomething/>
           </Something>";

我不想把XML作为另一个文件标记为部署项-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[DeploymentItem("Something.xml")]

因为它将需要单元测试从磁盘加载文件,这将使单元测试更慢,而且我可能有很多这样的测试。

还有其他方法可以不修改地将XML放入代码中吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-04 00:23:27

正如@leon的评论所建议的那样,使用一个资源文件,但我更进一步。

  1. 添加文件夹资源
  2. 添加一个Resources.resx文件(根据需要重命名)
  3. 使用测试数据TestData.xml添加xml文件
  4. 使其嵌入资源
  5. 将xml文件从解决方案资源管理器中拖到Resource.resx
  6. 确保您的TestData.xml资源类型是文本而不是二进制。
  7. 编译

现在将您的测试数据称为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string data = Resources.TestData;
票数 4
EN

Stack Overflow用户

发布于 2014-03-04 00:27:51

可以使用linq到xml对象来创建xml表示,而不是xml字符串。第二个示例如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var xml = 
    new XElement("Something",
        new XAttribute("Att", "s"),
        new XAttribute("Att2", "gg"),
        new XElement("AnotherSomething"),
        new XElement("AnotherSomething"));

使用它的更多原因是:确保xml有效性、自动转义特殊字符、在转换为字符串时使用更多格式选项,以及--更容易处理。

票数 1
EN

Stack Overflow用户

发布于 2014-03-04 00:10:58

不,编译器/解析器不允许这样做。

您可以将所有xml放在一个文件中(以某种有效的结构),并让一个实用工具类加载整个文件,并在测试之间缓存它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22166261

复制
相关文章
C#在WINForm程序中创建XML文件
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
zls365
2021/02/26
2.4K0
C#操作XML文件
明志德道
2023/10/21
2140
C#操作XML文件
C#读取XML文件
如下XML文件:(算是一个属性值比较多的xml文件。。。读取该Xml算是我在公司实际的一个任务)
ryzenWzd
2022/05/07
1.9K0
C#读取XML文件
C#在WINForm程序中通过三种方式创建XML文件
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
zls365
2022/01/14
1.7K0
C#操作XML文件
XML(可扩展标记语言)基于文本编码,用于Web上数据交换和存储,比起数据库来说更加灵活,更加方便,读写不用什么数据库驱动,编写方法也很简单,不用什么软件直接用记事本就可以搞定了。
SAP梦心
2022/05/07
1K0
c#操作xml文件
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml;
全栈程序员站长
2022/07/05
5960
c#读取配置文件,C#读xml配置文件,c# 配置文件,C# 读取xml
(1).右键项目->添加->应用程序配置文件,此时成功创建1个基于Xml的配置文件.例如我的文件
高久峰
2023/06/29
2670
C# 读取XML文件示例
该文介绍了如何用 C# 读取 XML 文件并显示在 TreeView 控件和 ListView 控件上的示例。
CNXY
2017/12/26
2K0
C# 读取XML文件示例
PHP FFI 允许在 PHP 脚本中嵌入原始 C 代码
Zend 的 Dmitry Stogov 通过允许 PHP 执行嵌入式 C 代码扩展了 PHP 的领域。 这将允许完全访问本地 C 函数,变量以及数据结构。
猿哥
2019/07/25
1K0
C#通过XPath解析xml文件
xpath语法讲解:http://www.w3school.com.cn/xpath/xpath_syntax.asp
提莫队长
2019/02/21
1.5K0
C# XML基础入门(XML文件内容增删改查清)
  最近对接了一个第三方的项目,该项目的数据传输格式是XML。由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了。因此对于XML这块自己感觉还是有很多盲点和不足的,所以自己通过一些网上的资料总结了一下XML相关知识点。
追逐时光者
2022/05/09
1.3K0
C# XML基础入门(XML文件内容增删改查清)
最近对接了一个第三方的项目,该项目的数据传输格式是XML。由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了。因此对于XML这块自己感觉还是有很多盲点和不足的,所以自己通过一些网上的资料总结了一下XML相关知识点。
追逐时光者
2022/04/16
2K0
【C++】内联函数 ⑤ ( 内联函数总结 | 内联函数代码示例 )
调用 int c = fun1(++a, b); 代码 , fun1 是 普通函数 ;
韩曙亮
2023/10/15
4160
【C++】内联函数 ⑤ ( 内联函数总结 | 内联函数代码示例 )
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
这段配置是用于指定applicationContext.xml配置文件的位置,可通过context-param加以指定:
全栈程序员站长
2022/09/13
1.9K0
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
Maven 在 pom.xml 文件中配置 repositories 仓库
例如,你希望配置使用自己的 https://maven.ossez.com/repository/internal 作为仓库。
HoneyMoose
2019/06/07
3.1K0
Maven 在 pom.xml 文件中配置 repositories 仓库
(adsbygoogle = window.adsbygoogle || []).push({});
HoneyMoose
2019/06/11
1.1K0
C# 将数据保存进xml文件
<code class="language-csharp">XmlDocument xml;  string path=Application.StartupPath + "\\功能测试参数.xml";   if(System.IO.File.Exists(path)) {       xml  = new XmlDocument();       doc.Load(path); //加载XML文档   }   else   {       xml = new XmlDocument();       
静谧的小码农
2019/01/11
1.7K0
【C#】创建、解析 xml 文件(XmlDocument 方式)
本文使用 System.Xml 中的 XmlDocument 解析 xml 格式的文件。另外,由于我是粗略的看了下官方文档和一些博客,可能会有许多错误的地方,望指出。
全栈程序员站长
2022/09/06
1.7K0
C# 操作XML文件 XmlDocument和XElement
XElement位于System.Xml.Linq下,是可以对xml进行linq的查询操作的
全栈程序员站长
2022/09/06
6140
JAVA框架中XML文件
我们应该在开头写返回结果 resultMap id="自己起的名字" type="返回的结果类型,此处为Department实体类"
阮键
2019/08/07
7670

相似问题

在HTML文件中包括内联XML

10

从apsx文件中提取内联C#代码

12

在内联VB代码中嵌入XML元素

23

如何将DataBinding内联代码放在内联c#代码中?

11

aspx页面中的内联c#代码

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文