我希望能够使用既不是服务器也不是客户端时间的特定时区序列化 DateTime。基本上,任何时区。是否可以在 .Net2.0 网络服务中覆盖 DateTime 序列化?
我使用 xsd.exe 编译了一个 xmlschema,所以我尝试使用 XmlSchemaImporter。
OnSerialize 示例显示值更改,但不显示输出格式的更改。
XmlSchemaImporter,将其加载到 gac 中,运行 xsd.exe,并生成具有我想要的类的代码......但该类是一个属性,最终无法反映。
[InvalidOperationException:无法序列化 Cuahsi.XmlOverrides.W3CDateTime 类型的成员“metadataDateTime”。XmlAttribute/XmlText 不能用于编码复杂类型。]
生成的代码
[System.Xml.Serialization.XmlAttributeAttribute()]
public Cuahsi.XmlOverrides.W3CDateTime dateTime {
get {
return this.dateTimeField;
}
set {
this.dateTimeField = value;
}
}
Run Code Online (Sandbox Code Playgroud)
XmlSchema 导入器
public class ImportW3CTime :
System.Xml.Serialization.Advanced.SchemaImporterExtension
{
public override string ImportSchemaType(string name, string ns,
XmlSchemaObject context, XmlSchemas schemas,
XmlSchemaImporter importer, CodeCompileUnit compileUnit,
CodeNamespace mainNamespace, CodeGenerationOptions options,
CodeDomProvider codeProvider)
{
if (XmlSchema.Namespace == ns)
{
switch (name)
{
case "dateTime":
string …
Run Code Online (Sandbox Code Playgroud) 努力获取任何时区的日期时间。我使用 DateTimeOffset、字符串和 XmlElement 属性。当我这样做时,我收到以下错误:
[InvalidOperationException:“dateTime”对于 XmlElementAttribute.DataType 属性来说是无效值。dateTime 无法转换为 System.String。]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model、String ns、ImportContext context、String dataType、XmlAttributes a、布尔重复、布尔 openModel、RecursionLimiter 限制器) +450[InvalidOperationException:反射类型“System.String”时发生错误。]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel 模型、String ns、ImportContext 上下文、String dataType、XmlAttributes a、布尔重复、布尔 openModel、RecursionLimiter 限制器) +1621
System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping 访问器、FieldModel 模型、XmlAttributes a、String ns、类型 choiceIdentifierType、布尔 rpc、布尔 openModel、RecursionLimiter 限制器) +8750
System.Xml.Serialization.XmlReflectionImporter.ImportFieldMapping(StructModel 父级) 、FieldModel 模型、XmlAttributes a、String ns、RecursionLimiter 限制器)+139
System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping 映射、StructModel 模型、布尔 openModel、String typeName、RecursionLimiter 限制器)+1273[InvalidOperationException:反映属性“creationTimeX”时发生错误。] ...
代码:
[System.Xml.Serialization.XmlElement(ElementName = "creationTime",
DataType="dateTime")]
public string creationTimeX
{
get
{
return this.creationTimeField.ToString("yyyy-MM-ddTHH:mm:sszzz");
}
set
{
DateTimeOffset.TryParse(value, out this.creationTimeField);
}
}
[System.Xml.Serialization.XmlIgnoreAttribute()]
public System.DateTimeOffset creationTime
{
get …
Run Code Online (Sandbox Code Playgroud) 新来Python
,我一直在尝试不同的IDE和Python
分布。到目前为止,我已经使用了Jetbrains IDE,并且似乎是所有这些中最成熟的IDE。
项目中的人员喜欢科学发行版(Continent IO和Enthought)。我倾向于Enthought,因为这些netCDF
库针对所有平台打包。
想知道将Canvas中的PyCharm引入Python环境的诀窍是什么?同时使用Mac和Windows。
尝试了此处列出的路径:https : //support.enthought.com/entries/23646538-Make-Canopy-s-Python-be-your-default-Python-ie-on-the-PATH-
但对话框显示,这pyvenv.cfg
不是正确的Python SDK。还尝试Python.exe
了scripts目录中的。