C#包关系ID

时间:2012-08-05 11:54:22

标签: c# .net xml package

我正在尝试使用System.IO.Packaging命名空间来存储一些自定义文件,然后将它们读回代码。

我很难找到关于如何使用/设置PackagePartRelationship的ID属性的明确示例。

例如,如果我有以下内容:

var relationship = packagePart.CreateRelationship(documentPart.Uri, TargetMode.Internal, relationshipType, relationshipId);

参数'relationshipId'应该采用什么格式? MSDN文档中陈述的所有内容都应遵循XML方案数据类型定义中有效xsd:Id值的规则。但仔细研究,我也找不到答案。

此外,如果有人问,我想指定Id而不是让它自动生成的原因是因为包中的某些关系链只与“child”或“关系”相关联。所以而不是循环

packagePart.GetRelationships()

或者

packagePart.GetRelationshipByType(relationshipType)

我希望能够做到

packagePart.GetRelationship(relationshipId)

非常感谢。

1 个答案:

答案 0 :(得分:2)

xsd:id是具有唯一约束的xsd:NCName。

所以没有冒号,没有逗号,也不能以数字开头。