c# - 如何验证办公室颜色主题 XML?
问题描述
我想验证从用户那里收到的颜色主题。 https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.drawing.colorscheme?view=openxml-2.8.1
正确的例子:
<clrScheme name="sample">
<dk1>
<sysClr val="windowText"/>
</dk1>
<lt1>
<sysClr val="window"/>
</lt1>
<dk2>
<srgbClr val="04617B"/>
</dk2>
<lt2>
<srgbClr val="DBF5F9"/>
</lt2>
<accent1>
<srgbClr val="0F6FC6"/>
</accent1>
<accent2>
<srgbClr val="009DD9"/>
</accent2>
<accent3>
<srgbClr val="0BD0D9"/>
</accent3>
<accent4>
<srgbClr val="10CF9B"/>
</accent4>
<accent5>
<srgbClr val="7CCA62"/>
</accent5>
<accent6>
<srgbClr val="A5C249"/>
</accent6>
<hlink>
<srgbClr val="FF9800"/>
</hlink>
<folHlink>
<srgbClr val="F45511"/>
</folHlink>
</clrScheme>
我认为微软会在我从类中创建一个新对象时验证颜色主题,但它没有,即使我尝试使用它。例如,如果我使用这个 xml,它会简单地接收它,但是当我在 Power Point 上应用它时,它会说文件已损坏。
<clrScheme name="sample">
<dk1>
<sysClr val="windowText"/>
</dk1>
<random>
<sysClr val="windowText"/>
</random>
</clrScheme>
var scheme = new ColorScheme(xmlText);
var hasChildren = scheme.HasChildren
有什么好的方法来验证这一点吗?
我也尝试过使用普通的 XML 验证,但我在网上找不到任何东西。到目前为止,这似乎是数百万人应该面临的问题,所以我不知道我做错了什么。
解决方案
推荐阅读
- swift - 具有多个命令编码器的无记忆纹理
- r - R:等系数的优化问题
- javascript - 将滚动动画添加到导航栏中的页面跳转 URL
- metrics - 如何为 Splunk 指标检测我的代码?
- kubernetes - Kubernetes:跨两个不同命名空间的负载平衡
- python - Matplotlib为什么x轴上的范围是错误的?
- php - 数组中的总计值并按新索引分组
- c# - HttpWebRequest - 请求被中止:无法创建 SSL/TLS 安全通道
- python - Django 覆盖 Django 针对 UniqueConstraint 错误显示的错误消息?
- c# - 调用 API 时使用 JWT 的困惑