小编Nei*_*ski的帖子

如何防止.NET的XmlDocument输出中的空白xmlns属性?

从.NET中的XmlDocument生成XML时,xmlns第一次插入没有关联命名空间的元素时会出现空白属性.怎么能防止这种情况?

例:

XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
    "whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
Run Code Online (Sandbox Code Playgroud)

输出:

<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

<root xmlns="whatever:name-space-1.0"><loner /></root>
Run Code Online (Sandbox Code Playgroud)

是否有适用于XmlDocument代码的解决方案,而不是将文档转换为字符串后出现的问题OuterXml

我这样做的原因是看看我是否可以使用XmlDocument生成的XML匹配特定协议的标准XML.空白xmlns属性可能不会破坏或混淆解析器,但它在我已经看到的此协议的任何用法中也不存在.

.net c# xml xmldocument xml-namespaces

115
推荐指数
4
解决办法
7万
查看次数

从XmlDocument获取带换行符的缩进XML的最简单方法是什么?

当我从头开始构建XML时XmlDocument,该OuterXml属性已经通过换行符很好地缩进了所有内容.但是,如果我调用LoadXml一些非常"压缩"的XML(没有换行或缩进),那么输出会OuterXml保持这种状态.所以......

从一个实例中获取美化XML输出的最简单方法是XmlDocument什么?

.net c# xmldocument outerxml

102
推荐指数
7
解决办法
14万
查看次数

在C#/ .NET中将参数标记为不可为空?

是否有一个简单的属性或数据契约,我可以分配给一个函数参数,以防止null在C#/ .NET中传递?理想情况下,这也会在编译时进行检查,以确保文本null在任何地方都没有被使用,并且在运行时抛出ArgumentNullException.

目前我写的东西像......

if (null == arg)
  throw new ArgumentNullException("arg");
Run Code Online (Sandbox Code Playgroud)

......对于我期望不存在的每一个论点null.

在同一个注释中,是否Nullable<>会出现以下情况:

NonNullable<string> s = null; // throw some kind of exception
Run Code Online (Sandbox Code Playgroud)

.net c# parameters null

90
推荐指数
4
解决办法
6万
查看次数

如何判断是否配置了IDisposable对象引用?

是否有方法或其他轻量级方法来检查引用是否属于被处置对象?

PS - 这只是一种好奇心(睡得好,不在生产代码中).是的,我知道我可以ObjectDisposedException试图访问该对象的成员.

.net c# dispose idisposable

82
推荐指数
4
解决办法
4万
查看次数

如何使用AWS S3 CLI将文件转储到BASH中的stdout?

我正在启动一个bash脚本,该脚本将在S3中获取路径(如ls命令所指定)并将所有文件对象的内容转储到stdout.基本上我想复制cat /path/to/files/*除了S3,例如s3cat '/bucket/path/to/files/*'.我首先看到的选项是将cp命令用于临时文件,然后再使用该命令cat.

有没有人试过这个或类似的或者已经有一个命令我找不到它是什么?

bash amazon-s3 amazon-web-services aws-cli

80
推荐指数
3
解决办法
3万
查看次数

您如何比较两个XML文档?

作为一些广泛的单元测试的基类的一部分,我正在编写一个辅助函数,它在C#(.NET)中递归地将一个XmlDocument对象的节点与另一个XmlDocument对象的节点进行比较.一些要求:

  • 第一个文档是源代码,例如我希望XML文档看起来像什么.因此,第二个是我想要找到差异的那个,它不能包含不在第一个文档中的额外节点.
  • 当发现太多显着差异时必须抛出异常,并且应该通过人们对该描述进行瞥见来容易理解.
  • 子元素顺序很重要,属性可以按任何顺序排列.
  • 有些属性是可以忽略的; 特别是xsi:schemaLocationxmlns:xsi,虽然我希望能够通过在哪些.
  • 名称空间的前缀必须在属性和元素中都匹配.
  • 元素之间的空白是无关紧要的.
  • 元素将要么有子元素 InnerText,但不能同时.

虽然我正在废弃一些东西:有没有人写过这样的代码,是否有可能在这里分享?

顺便说一下,你会把第一个和第二个文件称为什么?我一直把它们称为"源"和"目标",但它感觉不对,因为是我希望目标看起来像,否则我抛出异常.

.net c# xml xmldocument compare

60
推荐指数
7
解决办法
8万
查看次数

什么是在C#/ .NET中强制CRLF的快速方法?

您如何将字符串中的所有换行序列规范化为一种类型?

我希望将它们全部用于电子邮件(MIME文档)的CRLF.理想情况下,这将包装在静态方法中,执行速度非常快,而不是使用正则表达式(因为换行符,回车符等的差异是有限的).也许甚至有一种我忽略的BCL方法?

假设:在更多地考虑之后,我认为说CR是独立的或CRLF序列的一部分是一个安全的假设.也就是说,如果您看到CRLF,那么您就知道可以删除所有CR.否则,很难说出"/ r \n \n\r"之类的行数应该是多少.

.net c# string newline

43
推荐指数
3
解决办法
11万
查看次数

C#泛型可以有特定的基类型吗?

通用接口的类型是否可能基于特定的父类?

例如:

public interface IGenericFace<T : BaseClass>
{
}
Run Code Online (Sandbox Code Playgroud)

显然上面的代码不起作用,但如果确实如此,我试图告诉编译器的是T必须是一个子类BaseClass.可以这样做,有计划吗,等等?

我认为它在特定项目方面很有用,确保通用接口/类在编译时不与非预期类型一起使用.或者也可以自我文档:显示预期的类型.

c# generics

40
推荐指数
3
解决办法
3万
查看次数

什么是我的脚本src URL?

是否有一种简单可靠的方法来确定当前正在执行的JavaScript文件的URL(在网页内)?

我唯一想到的是扫描DOM src以查找所有脚本属性以查找当前文件的引用方式,然后通过应用它来计算绝对URL document.location.任何人都有其他想法,是否有一些我完全忽略的超级简单方法?

更新:通过DOM访问的脚本元素已经具有src包含完整URL 的属性.我不知道它是多么普遍/标准,但是你可以使用getAttribute("src")哪个将返回[X] HTML中的任何原始属性值.

javascript dom absolute-path src

33
推荐指数
4
解决办法
2万
查看次数

.NET中是否可以使用不可变数组?

有可能以某种方式将a标记System.Array为不可变.当置于public-get/private-set之后,它们无法添加,因为它需要重新分配和重新分配,但消费者仍然可以设置他们希望的任何下标:

public class Immy
{
    public string[] { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我认为readonly关键字可能会成功,但没有这样的运气.

.net c# arrays immutability

28
推荐指数
4
解决办法
1万
查看次数