相关疑难解决方法(0)

在Java中编码XML文本数据的最佳方法?

除了Java之外,与此问题非常相似.

在Java中为XML输出编码字符串的推荐方法是什么?字符串可能包含"&","<"等字符.

java xml encoding

88
推荐指数
13
解决办法
17万
查看次数

在.NET中使用XmlReader取消XML实体?

我试图在.NET(C#)中的字符串中删除XML实体,但我似乎没有让它正常工作.

例如,如果我有字符串AT&amp;T,则应将其翻译为AT&T.

一种方法是使用HttpUtility.HtmlDecode(),但这是用于HTML.

所以我有两个问题:

  1. 使用HttpUtility.HtmlDecode()解码XML实体是否安全?

  2. 我如何使用XmlReader(或类似的东西)来做到这一点?我尝试了以下,但总是返回一个空字符串:

    static string ReplaceEscapes(string text)
    {
        StringReader reader = new StringReader(text);
    
        XmlReaderSettings settings = new XmlReaderSettings();
    
        settings.ConformanceLevel = ConformanceLevel.Fragment;
    
        using (XmlReader xmlReader = XmlReader.Create(reader, settings))
        {
            return xmlReader.ReadString();
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

.net xml entities translate

10
推荐指数
2
解决办法
1万
查看次数

在xml字符串中嵌入xml文档

我有一个Web服务,它返回一个xml字符串作为结果.返回字符串采用以下格式:

<ReturnValue>
   <ErrorNumber>0
</ErrorNumber>
<Message>my message</Message>
</ReturnValue>
Run Code Online (Sandbox Code Playgroud)

我想要插入"message"标记的数据是自定义对象的序列化版本.该对象的序列化格式包含序列化后的xml和名称空间声明.当它被扔进我的返回xml字符串的"message"标签时,XmlSpy说它没有格式良好.我应该如何摆脱名称空间声明,还是有一种不同的方法将序列化对象嵌入到xml字符串中?

c# xml

6
推荐指数
2
解决办法
9051
查看次数

使用 XmlDocument 转义换行符

我的应用程序使用 XmlDocument 生成 XML。一些数据包含换行符和回车符。

当像这样将文本分配给 XmlElement 时:

   e.InnerText = "Hello\nThere";
Run Code Online (Sandbox Code Playgroud)

生成的 XML 如下所示:

<e>Hello
There</e>
Run Code Online (Sandbox Code Playgroud)

XML 的接收者(我无法控制)将换行符视为空白,并将上述文本视为:

 "Hello There"
Run Code Online (Sandbox Code Playgroud)

为了让接收者保留换行符,它需要编码为:

<e>Hello&#xA;There</e>
Run Code Online (Sandbox Code Playgroud)

如果数据应用于 XmlAttribute,则换行符将被正确编码。

我尝试使用 InnerText 和 InnerXml 将文本应用于 XmlElement,但两者的输出相同。

有没有办法让 XmlElement 文本节点以其编码形式输出换行符和回车符?

下面是一些示例代码来演示这个问题:

string s = "return[\r] newline[\n] special[&<>\"']";
XmlDocument d = new XmlDocument();
d.AppendChild( d.CreateXmlDeclaration( "1.0", null, null ) );
XmlElement  r = d.CreateElement( "root" );
d.AppendChild( r );
XmlElement  e = d.CreateElement( "normal" );
r.AppendChild( e );
XmlAttribute a = d.CreateAttribute( "attribute" );
e.Attributes.Append( a );
a.Value = …
Run Code Online (Sandbox Code Playgroud)

c# xml xmldocument .net-2.0

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

xml ×4

c# ×2

.net ×1

.net-2.0 ×1

encoding ×1

entities ×1

java ×1

translate ×1

xmldocument ×1