我正在尝试使用XmlDocument类**和**XmlDocument .Load(..)在visual studio社区的XAMARIN.Forms可移植解决方案的可移植项目上的功能。
编译器会说“找不到类型或名称空间名称'XmlDocument‘(是否缺少using指令或程序集引用?”
如果我进入引用,它不允许我添加System.XML名称空间(没有),如果我浏览文件并转到system.xml.dll,它会告诉我无法添加该文件,因为该组件已被构建系统自动引用。
我能做些什么来使用这个类??
注意:在.Droid和.IOS项目中有一个对System.xml的引用,在这些项目中我可以使用XmlDocument类。
发布于 2015-10-01 22:32:44
PCL不支持XmlDocument。您可以改用System.Xml.Linq.XDocument。
发布于 2015-10-01 22:02:22
正如您在其documentation page under Version Information上看到的那样,XmlDocument类不能在PCL库中使用。(请参阅XmlDictionary的版本信息部分
如果你想使用XmlDocument,你必须创建一个dependency service,并在安卓和iOS版本下分别实现它。
发布于 2022-01-17 17:35:50
将XML添加到我的项目中没有任何问题:
using System.Xml;
using System.Xml.Serialization;
public string ToXML(Object oObject)
{
XmlDocument xmlDoc = new XmlDocument();
XmlSerializer xmlSerializer = new XmlSerializer(oObject.GetType());
using (MemoryStream xmlStream = new MemoryStream())
{
xmlSerializer.Serialize(xmlStream, oObject);
xmlStream.Position = 0;
xmlDoc.Load(xmlStream);
return xmlDoc.InnerXml;
}
}之后,可以共享XML字符串:
public MvxCommand ShareWaypoints => new MvxCommand(ShareWaypointsAsync);
public async void ShareWaypointsAsync()
{
try
{
string strXML = "";
foreach (var wp in waypoints)
{
strXML += ToXML(wp);
}
if (strXML != "")
await Share.RequestAsync(new ShareTextRequest
{
Text = strXML,
Title = "Share Text"
});
}
catch (Exception ex)
{
await _userDialogs.AlertAsync(ex.Message);
}
}https://stackoverflow.com/questions/32888478
复制相似问题