小编Mak*_*nov的帖子

如何在HTML中编码href属性

应该对href属性的内容做什么:HTML或URL编码?

<a href="???">link text</a>
Run Code Online (Sandbox Code Playgroud)

一方面,由于href属性包含URL我应该使用URL编码.另一方面,我将此URL插入HTML,因此必须进行HTML编码.

请帮我克服这个矛盾.

谢谢.


编辑:

这是矛盾.假设URL中可能包含"<"和">"字符.URL编码不会转义它们,因此href属性中会有保留的HTML字符,这违反了标准.HTML编码将转义'<'和'>'字符,HTML将有效,但在此之后,URL中将出现意外的'&'字符(这是URL的保留字符,它用作查询字符串参数的分隔符) .

保留的URL字符构成保留HTML字符的超集,除了为HTML保留但不为URL保留的"<"和">".


编辑2:

我对'<'和'>'字符错了,它们实际上是通过URL编码转义的百分比.如果是这样,在这种情况下URL编码就足够了,不是吗?

html html-encode urlencode

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

XmlSerializer - 必需的元素

我正在使用XmlSerializer进行WCF服务(在我的服务中有这样的理由).但是最近我遇到了这个问题:我找不到一个简单的方法来创建一个引用类型属性,即让它在XSD中的定义如下所示:

<xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:string"/>
Run Code Online (Sandbox Code Playgroud)

而不是这个:

<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string"/>
Run Code Online (Sandbox Code Playgroud)

这是属性的代码:

[XmlElement]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我知道使用DataContractSerializer我可以这样做:

[DataMember(IsRequired = true)]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我会得到所需的架构.

任何想法如何使用XmlSerializer属性获得类似于IsRequired的功能?

谢谢.

.net wcf xsd xmlserializer

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

标签 统计

.net ×1

html ×1

html-encode ×1

urlencode ×1

wcf ×1

xmlserializer ×1

xsd ×1