我需要在一系列文本中插入一些<wbr>
元素。削减一些复杂的代码,这就是关键:
// ... pos contains position of hyphen etc.
brokenTokens.Add(new XText(token.Substring(0, pos)));
brokenTokens.Add(new XElement("wbr"));
brokenTokens.Add(new XText(token.Substring(pos)));
XElement e = new XElement(originalElement.Name, brokenTokens);
除了它产生:
<p xmlns="http://www.w3.org/1999/xhtml">This is some really long, super<wbr xmlns="" />-hypenated text.</p>
我可以弄清楚如何杀死那个令人讨厌的空命名空间声明,但我怎样才能使它成为<wbr>
而不是<wbr />
?
由于
答案 0 :(得分:1)
您正在研究XML:解决方案是提供<wbr>
内容。否则,你必须对自闭元素(在语法上正确)感到满意。
答案 1 :(得分:1)
您可以为wbr元素指定与其父元素相同的命名空间。在这种情况下,不会打印命名空间。
答案 2 :(得分:1)
XML允许
<wbr/>
由
实现var element = new XElement("wbr");
或
<wbr></wbr>
完成
var element = new XElement("wbr", string.Empty);
由于您使用的是XHTML,我甚至认为使用像<wbr>
这样的HTML标记不符合XHTML规范。