我想要使用的 API 要求我xmlns在嵌套元素上设置 -attribute,如下所示:
<root>
<mainelement>
</mainelement>
<mainelement>
<subelement xmlns="http://example.com/xml" otherAttr="value">
</subelement>
</mainelement>
</root>
Run Code Online (Sandbox Code Playgroud)
的类subelement定义如下:
public class subelement
{
[XmlAttribute]
public string otherAttr { get; set; }
[XmlAttribute]
public string xmlns { get; set; } = "http://example.com/xml";
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用 XmlSerializer 序列化根对象时, -xmlns属性始终丢失。否则它工作正常。xmlns当我重命名它创建的这个属性时,所以我猜它与保留关键字有关。
另外,我无法使用将命名空间设置为方法的第三个参数的标准方法,Serialize因为我只想将此属性位于subelement对象上。
有没有办法在序列化后无需手动编辑文件来完成此任务?
这可能是XSL-FO的一个相当普遍的问题:我尝试构建一个具有明确规范的计费:
"子标题":(客户数据)
- >在第一页上,这个块应该是页面高度的10%左右
- >在所有其他页面上,这个块应该是大约一半,所以让我们说5%
"最后一页页脚":当然是最后一页(总金额和签名)
"每页页脚":仅适用于打印日期
"正文":计费内容(每个位置)应自动在所有页眉和页脚之间流动
所以我知道通过使用属性page-position可以实现一些要点:
<fo:page-sequence-master master-name="masterSequenceName1">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="masterNamePageFirst1" page-position="first"></fo:conditional-page-master-reference>
<fo:conditional-page-master-reference master-reference="masterNamePageLast1" page-position="last"></fo:conditional-page-master-reference>
<fo:conditional-page-master-reference master-reference="masterNamePageAny" page-position="any"></fo:conditional-page-master-reference>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
Run Code Online (Sandbox Code Playgroud)
我可以为每个案例定义区域,但遇到以下问题: