我有像这样的Web服务序列化创建的XmlDocument(标题未显示):
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
//mode.setTitle("Contextual Action Bar"); (replace this call)
TextView tv= (TextView)getLayoutInflater().inflate(R.layout.contextual_title, null);
tv.setText("Contextual Action Bar");
mode.setCustomView(tv);
}
有没有办法如何获取XmlDocument的字符串表示形式:
<request xmlns="a">
<value1>1</value1>
<value2>2</value2>
</request>
没有手动迭代和格式化?
更新:原因是,许多目标系统中的一个需要这种格式,而其他系统不需要。我知道,我可以使用Razor模板和WebRequest这个系统,但是我试图找到通用解决方案,在这种情况下使用IClientMessageInspector。
答案 0 :(得分:2)
如果您愿意使用XDocument
API而不是XmlDocument
,则可以这样做:
XDocument xDoc = XDocument.Parse( @"<request xmlns=""a"">
<value1>1</value1>
<value2>2</value2>
</request>");
xDoc.Root.ReplaceAttributes(new XAttribute(XNamespace.Xmlns + "ns", "a"));
string xmlOut = xDoc.ToString();
产生此输出:
<ns:request xmlns:ns="a">
<ns:value1>1</ns:value1>
<ns:value2>2</ns:value2>
</ns:request>