我有一个像下面的xml片段
<Detail uid="6">
<![CDATA[
<div class="heading">welcome to my page</div>
<div class="paragraph">this is paraph</div>
]]>
</Detail>
Run Code Online (Sandbox Code Playgroud)
我希望能够改变
<div class="heading">...</div> to <h1>Welcome to my page</h1>
<div class="paragraph">...</div> to <p>this is paragraph</p>
Run Code Online (Sandbox Code Playgroud)
你知道我怎么能在xslt 1.0中做到这一点
我想在HTML页面中显示异常跟踪.
一种方法是在异常跟踪中转义HTML特殊字符并将其转储到<pre>标记内.
虽然它有效,但效率非常低.我认为一种方法是用CDATA包裹跟踪.我试过了,但没有显示出来.
我的问题,这可以吗?
这是我的微弱尝试.
<pre><![CDATA[blah, blah, blah with <>
and blah blah blah with &
and more blah, blah]]></pre>
Run Code Online (Sandbox Code Playgroud) 如何解析包含数据的XML <![CDATA[---]...如何解析xml并获取包含在CDATA???中的数据?
My Wrapper类是这样的:
@XmlRootElement(name = "GETA")
public class EfGetAResponseWrapperXmlObject {
private String something;
@XmlElement(name = "result")
public String getSomething() {
return something;
}
public void setSomething(String something) {
this.something = something;
}
}
Run Code Online (Sandbox Code Playgroud)
对于这个包装类,我在SoapUI上得到了这个答案:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:ef_getAresponse xmlns:ns2="http://service.package/">
<ef_get_AReturn><GETA>
<result>mystring</result>
</GETA></ef_get_AReturn>
</ns2:ef_get_AResponse>
</S:Body>
</S:Envelope>
Run Code Online (Sandbox Code Playgroud)
如果我在我的Wrapper类中引入另一个变量:
@XmlRootElement(name = "GETA")
public class EfGetAResponseWrapperXmlObject {
private String something;
private String other;
@XmlElement(name = "result")
public String getSomething() {
return something;
}
public void setSomething(String something) {
this.something = something;
}
public String getOther() …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用CDATA在C#中构建XML文档以将文本保存在元素中.例如..
<email>
<![CDATA[test@test.com]]>
</email>
Run Code Online (Sandbox Code Playgroud)
但是,当我获得文档的InnerXml属性时,CDATA已经重新格式化,因此InnerXml字符串看起来像下面的失败.
<email>
<![CDATA[test@test.com]]>
</email>
Run Code Online (Sandbox Code Playgroud)
如何在访问XML字符串时保留原始格式?
干杯
我在使用c#序列化cdata部分时遇到问题
我需要将XmlCDataSection对象属性序列化为元素的innertext.
我要找的结果是这样的:
<Test value2="Another Test">
<![CDATA[<p>hello world</p>]]>
</Test>
Run Code Online (Sandbox Code Playgroud)
为了产生这个,我使用这个对象:
public class Test
{
[System.Xml.Serialization.XmlText()]
public XmlCDataSection value { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute()]
public string value2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在value属性上使用xmltext注释时,将引发以下错误.
System.InvalidOperationException:反映属性'value'时出错.---> System.InvalidOperationException:无法序列化System.Xml.XmlCDataSection类型的成员'value'.XmlAttribute/XmlText不能用于编码复杂类型
如果我注释掉注释,序列化将起作用,但cdata部分被放入一个值元素,这对我想要做的事情没有好处:
<Test value2="Another Test">
<value><![CDATA[<p>hello world</p>]]></value>
</Test>
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我正确的方向让这个工作.
谢谢,亚当
有没有办法让SQL Server XML返回使用CDATA?我有SQL Server返回的XML,如下所示:
<locations>
<site id="124">
<sitename>Texas A & M</sitename>
</site>
</locations>
Run Code Online (Sandbox Code Playgroud)
当我需要这个:
<locations>
<site id="124">
<sitename><![CDATA[Texas A & M]]></sitename>
</site>
</locations>
Run Code Online (Sandbox Code Playgroud) 我正在尝试将包含以下内容的文档转换为另一个文档,使CDATA与第一个文档中的完全一样,但我还没有弄清楚如何使用XSLT保留CDATA.
初始XML:
<node>
<subNode>
<![CDATA[ HI THERE ]]>
</subNode>
<subNode>
<![CDATA[ SOME TEXT ]]>
</subNode>
</node>
Run Code Online (Sandbox Code Playgroud)
最终的XML:
<newDoc>
<data>
<text>
<![CDATA[ HI THERE ]]>
</text>
<text>
<![CDATA[ SOME TEXT ]]>
</text>
</data>
</newDoc>
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西,但没有运气,一切都变得混乱:
<xsl:element name="subNode">
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:element>
Run Code Online (Sandbox Code Playgroud)
有关如何保存CDATA的任何想法?
谢谢!长矛
使用ruby/nokogiri
更新:这是有效的.
<text disable-output-escaping="yes"><![CDATA[</text>
<value-of select="normalize-space(text())" disable-output-escaping="yes"/>
<text disable-output-escaping="yes">]]></text>
Run Code Online (Sandbox Code Playgroud)
这将包装CDATA中的所有text()节点,这对我需要的东西起作用,并且它将在文本中保留html标签.
我使用内联Javascript很多,通常在我制作的WordPress主题中.//<![CDATA[ ... //]]>直到几个月前我还没有听说过将内联Javascript包装起来,而且我已经在相当的能力水平上做了几年.
我google了,我听说人们使用它,因为他们的Javascript不会验证.我使用严格的1.0 xHTML文档类型,并且在验证我的标记时从未遇到过问题.是因为我使用jquery,还是因为我通常只有几行代码来激活插件?或者w3验证器在这方面是否宽松?不使用这些CDATA标记时是否有任何功能影响的证据?
我有一个XmlNode代表以下xml的例子:
XmlNode xml.innerText =
<book>
<name><![CDATA[Harry Potter]]</name>
<author><![CDATA[J.K. Rolling]]</author>
</book>
Run Code Online (Sandbox Code Playgroud)
我想更改此节点,以便它包含以下内容:
XmlNode xml.innerText =
<book>
<name>Harry Potter</name>
<author>J.K. Rolling</author>
</book>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢!
cdata ×10
xml ×7
c# ×3
java ×2
parsing ×2
xhtml ×2
xslt ×2
html ×1
javascript ×1
jquery ×1
nokogiri ×1
soapui ×1
sql-server ×1
web-services ×1
xmldocument ×1
xmlnode ×1