xml 相关问题

可扩展标记语言(XML)是一种灵活的结构化文档格式,用于定义人类和机器可读的编码规则。

XSLT - 将单个属性分离为具有属性的多个元素

我有一些源 XML,其中包含对一个属性内多个值的交叉引用。我需要将它们分成具有属性值的自己不同的元素。 输入 XML: B... 我有一些源 XML,其中包含对一个属性内多个值的交叉引用。我需要将它们分成具有属性值的自己不同的元素。 输入XML: <p>Blah blah blah <xref ref-type="bibr" rid="ref004 ref005 ref006 ref007">4&#x2013;7</xref>.</p> 所需的输出 XML: <p>Blah blah blah <xref ref-type="bibr" rid="ref004">4</xref><xref ref-type="bibr" rid="ref005"/><xref ref-type="bibr" rid="ref006"/>&#x2013;<xref ref-type="bibr" rid="ref007">7</xref>.</p> 注意中间的 2 个交叉引用变成了空元素。 我有以下 XSLT,但它没有给我正确的输出 - 它将属性值作为元素内容插入。 <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="xref"> <xsl:variable name="rid" select="@rid"/> <xsl:choose> <xsl:when test="contains($rid, ' ')"> <!-- Multiple references --> <xsl:variable name="refs" select="tokenize($rid, ' ')"/> <xsl:for-each select="$refs"> <xsl:if test="position() > 1"> <xsl:text> </xsl:text> </xsl:if> <xsl:variable name="refNum" select="substring-after(., 'ref')"/> <xsl:element name="xref"> <xsl:attribute name="ref-type">bibr</xsl:attribute> <xsl:attribute name="rid"> <xsl:value-of select="concat('ref', $refNum)"/> </xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:for-each> </xsl:when> <xsl:otherwise> <!-- Single reference --> <xsl:element name="xref"> <xsl:attribute name="ref-type">bibr</xsl:attribute> <xsl:attribute name="rid"> <xsl:value-of select="$rid"/> </xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:template> 我想我通过使用得到了预期的结果: <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="xref[contains(@rid, ' ')]"> <xsl:variable name="ref" select="text()"/> <xsl:for-each select="tokenize(@rid, ' ')"> <xsl:choose> <xsl:when test="position()=1"> <xref ref-type="bibr" rid="{.}"> <xsl:value-of select="substring-before($ref, '&#x2013;')"/> </xref> </xsl:when> <xsl:when test="position()=last()"> <xsl:text>&#x2013;</xsl:text> <xref ref-type="bibr" rid="{.}"> <xsl:value-of select="substring-after($ref, '&#x2013;')"/> </xref> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> <xref ref-type="bibr" rid="{.}"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> </xsl:stylesheet> 但这主要是基于根据您的单个示例猜测规则是什么......

回答 1 投票 0

如何使用 Kotlin 在运行时从 ZIP 延迟加载多文件 XSD?

出现了一个需求,其中需要在运行时加载包含许多模式的 xsd.zip 文件。该 ZIP 文件将在类路径上可用,最重要的是,它包含许多带有 xsd 的模式:

回答 1 投票 0

如何使用 Kotlin 在运行时从 ZIP 加载多文件 XSD?

出现了一个需求,其中需要在运行时加载包含许多模式的 xsd.zip 文件。该 ZIP 文件将在类路径上可用,最重要的是,它包含许多带有 xsd 的模式:

回答 1 投票 0

Apache CXF XSD 方案改为 Java,更改输出类和工厂名称

我正在使用 CXF maven 插件根据 XSD 方案定义生成 Java 类。我使用两个 xsdOptions 标签将两种不同方案的 Java 文件创建到两个不同的包中。生成的...

回答 1 投票 0

如何获取类中的文件路径?

我有这个 Xml 文件,我从 HDD 浏览到我的 C# 程序。现在,该 Xml 文档的节点显示在我的 winform 的树视图中。我现在所有的逻辑都在 winform 中。有三个

回答 2 投票 0

如何在android中设置换行内容的最大高度?

在android中,如何创建一个具有最大高度并包裹内容的滚动视图,基本上它垂直包裹内容,但有最大高度? 我试过 在android中,如何创建一个具有最大高度并包裹内容的滚动视图,基本上它垂直包裹内容,但具有最大高度? 我试过了 <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxHeight="200dp" android:layout_alignParentBottom="true" > <LinearLayout android:id="@+id/maincontainer" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> </LinearLayout> </ScrollView> 但这不起作用? 您可以将其添加到任何视图(覆盖从视图继承的类中的 onMeasure) @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (maxHeight > 0){ int hSize = MeasureSpec.getSize(heightMeasureSpec); int hMode = MeasureSpec.getMode(heightMeasureSpec); switch (hMode){ case MeasureSpec.AT_MOST: heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.AT_MOST); break; case MeasureSpec.UNSPECIFIED: heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST); break; case MeasureSpec.EXACTLY: heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.EXACTLY); break; } } super.onMeasure(widthMeasureSpec, heightMeasureSpec); } 我扩展了 ScrollView 并添加了代码来实现此功能: https://gist.github.com/JMPergar/439aaa3249fa184c7c0c 希望有用。 您可以通过编程方式完成。 private static class OnViewGlobalLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener { private final static int maxHeight = 130; private View view; public OnViewGlobalLayoutListener(View view) { this.view = view; } @Override public void onGlobalLayout() { if (view.getHeight() > maxHeight) view.getLayoutParams().height = maxHeight; } } 并将监听器添加到视图中: view.getViewTreeObserver() .addOnGlobalLayoutListener(new OnViewGlobalLayoutListener(view)); 当视图高度发生变化时,监听器将调用 onGlobalLayout() 方法。 可以通过将视图包装到 ConstraintLayout 并使用 layout_constraintHeight_max 属性来完成。 <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="200dp"> <ScrollView android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHeight_max="wrap" app:layout_constraintVertical_bias="0"> ... </ScrollView> </androidx.constraintlayout.widget.ConstraintLayout> 在上面的示例中,父级 ConstraintLayout 高度限制为 200dp,子级 ScrollView 高度包裹内容,直到小于 200dp。请注意,app:layout_constraintVertical_bias="0" 将子级 ScrollView 与父级的顶部对齐,否则它将居中。 要设置滚动视图高度,您必须同时使用 2 个 linerlayout ,然后将 scrool view 设置为它们的子级,然后设置中间 linerlayout 布局:限制滚动视图高度的高度。 1.) 创建一个类来处理将最大高度设置为用户传递的值: public class OnViewGlobalLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener { private Context context; private int maxHeight; private View view; public OnViewGlobalLayoutListener(View view, int maxHeight, Context context) { this.context = context; this.view = view; this.maxHeight = dpToPx(maxHeight); } @Override public void onGlobalLayout() { if (view.getHeight() > maxHeight) { ViewGroup.LayoutParams params = view.getLayoutParams(); params.height = maxHeight; view.setLayoutParams(params); } } public int pxToDp(int px) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); int dp = Math.round(px / (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); return dp; } public int dpToPx(int dp) { DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); int px = Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT)); return px; } } 2.) 将其附加到视图并传递 DP 中的最大高度: messageBody.getViewTreeObserver() .addOnGlobalLayoutListener( new OnViewGlobalLayoutListener(messageBody, 256, context) ); 感谢@harmashalex 的灵感。我进行了修改,因为设置布局参数对 @harma 的代码不起作用。此外,dp 到 px 的转换对于减轻对它的疑惑是必要的。 对harmashalex答案进行一些修改,我可以为任何视图传递所需的最大高度: import android.view.View; import android.view.ViewTreeObserver; public class MaxHeightForAnyView implements ViewTreeObserver.OnGlobalLayoutListener{ private int maxHeight = 130; private View view; public MaxHeightForAnyView(View view, int maxHeight) { this.view = view; this.maxHeight = maxHeight ; } @Override public void onGlobalLayout() { if (view.getHeight() > maxHeight) view.getLayoutParams().height = maxHeight; } } 只需将侦听器设置为 oncreate 中具有所需高度的任何视图即可: txtShowTrans.getViewTreeObserver().addOnGlobalLayoutListener(new MaxHeightForAnyView(txtShowTrans, 600)); 在这里您可以像这样设置 Scrollview 的高度 -: <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="200dp" android:layout_alignParentBottom="true" > <LinearLayout android:id="@+id/maincontainer" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> </LinearLayout> </ScrollView>

回答 8 投票 0

Fo 内联换行不会删除将 XML 格式化为 XLS(excel)文件的 XSL 中的文本

使用 Xsl 样式表,我将输出 XML 文件(从我的工具获得)格式化为 Excel(xls 文件)。在此,我只想删除一段文字。我正在使用 fo:inline ,如下所示: &...

回答 1 投票 0

将 xml 转换保存在新的 xml 文件中

嘿嘿! 我有一个 xslt 文件来转换我的 xml,它运行得很好:) 但我只在氧气终端中得到结果,而不是在单独的文件中。 我试过: 嘿! 我有一个 xslt 文件来转换我的 xml,它运行得很好:) 但我只能在氧气终端中获得结果,而不是在单独的文件中。 我尝试过: <xsl:stylesheet xmlns="http://www.tei-c.org/ns/1.0" xmlns:telota="http://www.telota.de" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xpath-default-namespace="http://www.tei-c.org/ns/1.0" exclude-result-prefixes="xs" version="2.0"> <xsl:result-document href="new_badius.xml"/> 这给了我错误:“元素 xsl:result-document 不得直接出现在 xsl:stylesheet 中” 尝试了一些层次结构的变化: <xsl:template match="node()|@*"> <xsl:copy> <xsl:result-document href="new_file.xml"/> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> 或 <xsl:template match="node()|@*"> <xsl:result-document href="new_file.xml"/> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> 这给了我错误只能创建一个 new_file.xml (它是空的) 我应该把<xsl:result-document href="new_file.xml"/>放在哪里,或者有更好的方法将我的结果保存为.xml吗? xsl:result-document属于模板,哪个模板显然取决于您的XML输入结构、样式表结构以及结果文档的数量和想要的内容。 另请注意,oXygen 允许您配置一个转换场景,您可以在其中定义将主要结果写入到您可以定义名称的文件中,请参阅 https://www.oxygenxml.com/doc/versions/26.1/ ug-editor/topics/the-output-tab.html.

回答 1 投票 0

SAML2 以表单形式提交 XML SAMLRequest 值

我正在尝试使用 SAML 验证用户登录。我有一个简单的 HTML 表单。 我正在尝试使用 SAML 验证用户登录。我有一个简单的 HTML 表格。 <form method="post" action="https://abcd/login"> <input type="hidden" name="SAMLRequest" value="request" /> <input type="hidden" name="RelayState" value="token" /> <input type="submit" value="Submit" /> </form> 我对如何仅用 base64 发送 XML 的 SAMLRequest 编码感到困惑。如果有人能给我指出正确的方向或链接到演示,那将是一个巨大的帮助。 这取决于您使用的 SAML2 配置文件。假设您使用的是 Web 浏览器 SSO (WBSSO),这一切都是通过 POST 自动将浏览器发送到 URL 来完成的。用户访问您的应用程序,您创建 SAMLRequest 和 RelayState 并自动将表单发布到 IdP。 IdP 对用户进行身份验证(您不关心这部分),然后使用包含身份验证信息和属性的 base64 SAMLReponse 自动将浏览器重定向回您的断言消费者服务 (ACS) URL。 此处有 SP 启动流程的简单概述。 我是这样做的: javascript 向此url发送请求和请求后,我们如何使用Angular或javascipt在我们的登录屏幕上看到对方的响应。 能举个例子吗

回答 2 投票 0

如何在 odoo 上像 mps 一样创建树视图?

我想在我的 odoo 模块上创建这样的东西: 在此输入图像描述 结论: 请帮我一些建议。任何提示将不胜感激。任何事情都可以提供帮助。 我正在使用 odo...

回答 1 投票 0

xml
回答 2 投票 0

svg 自动缩放,在最终用户分辨率之间固定画布大小

我有一个 Power BI,我正在使用 HTML 内容视觉对象生成 .svg 图像。默认情况下,画布为 1280x720 以实现最大兼容性(我无法更改)。 .svg 是在 Ca 创建的...

回答 1 投票 0

xmlstarlet 追加到 XML 中的节点

我有一个包含以下条目的 xml 文件: .... 我有一个包含以下条目的 xml 文件: .... <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> .... 我想在 <analyzer type="index"> 中注入以下 XML 节点: <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="20"/> 因此,最终的预期 XML 如下所示: .... <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="20"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> .... 为此,我尝试使用xmlstarlet,如下所示: xmlstarlet ed --inplace -s "//fieldType" -t elem -n "text_general" -i "//filter" -t attr -n "class" -v ""solr.NGramFilterFactory" minGramSize="1" maxGramSize="20"" <file_name_here> 但显然,这不起作用(当我运行它时,它真的弄乱了我的 XML 文件!)。我对 xmlstarlet 很陌生,并且很难使用正确的语法来实现此目标。我也认为我的尝试中引用有问题。 您应该能够通过创建一个新的 filter 元素,然后向其添加属性来完成此操作(新的 filter 现在是 filter 中的最后一个 analyzer 元素)... xmlstarlet ed --inplace -s '//analyzer[@type="index"]' -t elem -n filter -i '//analyzer[@type="index"]/filter[last()]' -t attr -n class -v solr.NGramFilterFactory -i '//analyzer[@type="index"]/filter[last()]' -t attr -n minGramSize -v 1 -i '//analyzer[@type="index"]/filter[last()]' -t attr -n maxGramSize -v 20 input.xml 另一种选择是使用 XSLT。我认为这比尝试从命令行执行所有操作要容易得多... xmlstarlet tr so.xsl input.xml > output.xml XSLT 1.0(so.xsl) <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="analyzer[@type='index']"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> <filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="20"/> </xsl:copy> </xsl:template> </xsl:stylesheet>

回答 1 投票 0

使用sed从XML文件中删除节点和数据

我正在尝试使用 sed 清理 XML 文件。 我需要删除所有123.123。 我一直在尝试使用这个命令,但没有成功: sed 的/( 我正在尝试使用 sed 清理 XML 文件。 我需要删除所有<DistanceMeters>123.123</DistanceMeters>。 我一直在尝试使用这个命令,但没有成功: sed 's/(<DistanceMeters>)[.]*?(<\/DistanceMeters>)/ /g' file.txc 示例节点: <Trackpoint><Time>2014-02-12T18:18:49+11:00</Time> <Position><LatitudeDegrees>35.209656</LatitudeDegrees><LongitudeDegrees>28.99924</LongitudeDegrees></Position> <AltitudeMeters>586.99994</AltitudeMeters> <DistanceMeters>148.30713</DistanceMeters> <Cadence>4</Cadence> <Extensions><TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2" CadenceSensor="Bike"><Speed>0.043145742</Speed></TPX></Extensions></Trackpoint> 为了让事情变得更加混乱,源文件都在一行中。 谢谢。 如果 DistanceMeters 位于单独的一行中,只需执行: awk '!/DistanceMeters/' file <Trackpoint><Time>2014-02-12T18:18:49+11:00</Time> <Position><LatitudeDegrees>35.209656</LatitudeDegrees><LongitudeDegrees>28.99924</LongitudeDegrees></Position> <AltitudeMeters>586.99994</AltitudeMeters> <Cadence>4</Cadence> <Extensions><TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2" CadenceSensor="Bike"><Speed>0.043145742</Speed></TPX></Extensions></Trackpoint> 要将其从文本块内删除,您可以执行以下操作: awk '{sub(/<DistanceMeters>[^>]*>/,x)}8' file 或与 sed: sed 's/<DistanceMeters>[^>]*>//g' file 这两者都不是贪婪的,因此它不会破坏多次出现 <DistanceMeters> 块的行,而不是使用贪婪 .*

回答 1 投票 0

如何使用 xmlstarlet 在另一个元素下插入一个新元素?

$ vim test.xml $ xmlstarlet ed -i "/config" -t elem -n "sub" -v "" test.xml ...

回答 6 投票 0

使用 shell 脚本在 xml 文件中添加 xml 元素

我有一个xml文件,我需要在其中添加数据,我尝试使用sed。谁能帮我解决我做错的地方。 我有一个像这样的 xml 文件: 我有一个 xml 文件,我需要在其中添加数据,我尝试使用 sed。谁能帮我解决我做错的地方。 我有一个像这样的xml文件: <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users></users> </sf-migration> 现在我需要在用户中添加以下文件: <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <detail></detail> <monitoringPreference>email</monitoringPreference> <lastLogin></lastLogin> </sfuser> 我的输出应该如下: enter <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users> <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <lastLogin></lastLogin> </sfuser> </users> </sf-migration> 我使用下面的 shell 脚本来附加文本: CONTENT=give the suer content C=$(echo $CONTENT | sed 's/\//\\\//g') sed "/<\/users>/ s/.*/${C}\n&/" /tmptest/user1.xml 我做错了什么?还有其他简单的方法可以在 xml 中添加元素吗? 我需要在 shell 中完成此操作,因为我的完整代码在 shell 中 使用多个文件并在命令行上转义是非常容易出错和 hacky 的。在大多数语言中,您可以使用非常小的脚本来实现相同的目的。这是 Python 2 中的示例: template = open("user.xml").read() snippet = open("user_data.xml").read() result = template.replace("</users>", snippet + "</users>") open("user.xml", "w").write(result) 输出: <!DOCTYPE sf-migration PUBLIC "-//VA Software, Inc.//DTD SourceForge Migration 1.0//EN" "/opt/add-ons/import-6.1/dtd/sf-migration_1_0.dtd"> <sf-migration toVersion="6.1.0.0" fromVersion="5.0.0.0"> <users> <sfuser xid="user1000"> <username>beq03838</username> <email>[email protected]</email> <alternateEmail1></alternateEmail1> <dateCreated>2016-12-20 14:02:23 CET</dateCreated> <dateLastModified>2016-12-20 14:02:23 CET</dateLastModified> <detail></detail> <monitoringPreference>email</monitoringPreference> <lastLogin></lastLogin> </sfuser> </users> 如果您需要更频繁地执行此操作,请使用此脚本: #!/usr/bin/python import sys if len(sys.argv) != 4: print "This script prepends the given pattern in a template with a snippet. Both snippet and template are files." print "Usage:" print sys.argv[0] + " template snippet replacementpattern" sys.exit(1) template = open(sys.argv[1]).read() snippet = open(sys.argv[2]).read() pattern = sys.argv[3] if not pattern in template: print "Template doesn't contain the pattern." sys.exit(2) print template.replace(pattern, snippet + pattern) 用途: ./prepend.py template.xml snippet.xml "</users>"

回答 1 投票 0

替换 XML 文件中的动态内容

快速摘要:我需要创建一个 Bash 脚本来每周自动更改节点内的文本。该脚本将匹配节点并替换其中的文本(如果可能的话)?怎么...

回答 3 投票 0

用 sed 替换 xml 值[重复]

我想替换 XML 文件中的值。 XML 示例

回答 0 投票 0

BottomSheetDialogFragment 不会填充所需的高度并始终包裹内容

我正在实现一个 BottomSheetDialogFragment,我想最初填充一半屏幕,并且能够将其向上拖动到全屏或向下拖动以关闭。这样我就可以简化...

回答 1 投票 0

如何确定 Apache Spark 和 scala 中的无效 XML 字符串

我有一个用户定义的函数,如下所示 案例类主体结果(文本:字符串,代码:字符串) val bodyudf = udf{ (body: 字符串) => //将 body 标签显式附加到

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.