gpt4 book ai didi

components - 使用 TOM.NET 更新多媒体组件

转载 作者:行者123 更新时间:2023-12-04 23:25:27 24 4
gpt4 key购买 nike

我正在尝试使用 Tridion 的 TOM.NET API 像这样更新 C# 中多媒体图像的元数据

 componentMM.LoadXML(localComponent.GetXML(XMLReadFilter.XMLReadALL));
// make changes to the component mm multimedia text;
localComponent.UpdateXML(componentMM.InnerXML);
localComponent.Save(True)

虽然这适用于其他组件,但它不适用于多媒体图像。

<?xml version="1.0"?>
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0"
ErrorCode="80040345" Category="19" Source="Kernel" Severity="2">
<tcm:Line ErrorCode="80040345" Cause="false" MessageID="16137"><![CDATA[

Unable to save Component (tcm:33-32599).
]]><tcm:Token>RESID_4574</tcm:Token>
<tcm:Token>RESID_4418</tcm:Token>
<tcm:Token>tcm:33-32599</tcm:Token>
</tcm:Line>
<tcm:Line ErrorCode="80040345" Cause="true" MessageID="15747"><![CDATA[

Unexpected element: MultimediaFileSize
]]><tcm:Token>MultimediaFileSize</tcm:Token>
</tcm:Line>
<tcm:Details>
<tcm:CallStack>
<tcm:Location>ComponentBL.CheckMultiMediaProperties</tcm:Location>
<tcm:Location>ComponentBL.CheckMultiMediaProperties</tcm:Location>
<tcm:Location>ComponentBL.Update</tcm:Location>
<tcm:Location>XMLState.Save</tcm:Location>
<tcm:Location>Component.Save</tcm:Location>
</tcm:CallStack>
</tcm:Details>
</tcm:Error>

你能告诉我我在这里做错了什么吗?

最佳答案

感谢您的回复。我正在删除节点,但在错误的地方。我像这样更新代码,现在工作正常。

 if (localComponent.IsMultimediaComponent)

{

XmlNode multimediaFileSizeNode = localComponentXML.SelectSingleNode("//*[local-name()='MultimediaFileSize']",tridionNamespace);

XmlNode dataNode = multimediaFileSizeNode.ParentNode;

dataNode.RemoveChild(multimediaFileSizeNode);

}



localComponent.UpdateXML(localComponentXML.InnerXml);

关于components - 使用 TOM.NET 更新多媒体组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com